home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #14 / Monster Media No. 14 (April 1996) (Monster Media, Inc.).ISO / prog_bas / t2win_16.zip / T2WIN-16.FRM < prev    next >
Text File  |  1996-01-07  |  280KB  |  8,986 lines

  1. VERSION 4.00
  2. Begin VB.Form frmT2W 
  3.    BorderStyle     =   4  'Fixed ToolWindow
  4.    Caption         =   "TIME TO WIN (16-Bit Demo)"
  5.    ClientHeight    =   8115
  6.    ClientLeft      =   285
  7.    ClientTop       =   465
  8.    ClientWidth     =   9105
  9.    BeginProperty Font 
  10.       name            =   "MS Sans Serif"
  11.       charset         =   1
  12.       weight          =   700
  13.       size            =   8.25
  14.       underline       =   0   'False
  15.       italic          =   0   'False
  16.       strikethrough   =   0   'False
  17.    EndProperty
  18.    ForeColor       =   &H80000008&
  19.    Height          =   8460
  20.    Left            =   255
  21.    LinkTopic       =   "Form1"
  22.    MaxButton       =   0   'False
  23.    ScaleHeight     =   8115
  24.    ScaleWidth      =   9105
  25.    ShowInTaskbar   =   0   'False
  26.    Tag             =   "c"
  27.    Top             =   150
  28.    Width           =   9165
  29.    Begin VB.PictureBox Picture1 
  30.       AutoRedraw      =   -1  'True
  31.       AutoSize        =   -1  'True
  32.       BorderStyle     =   0  'None
  33.       Height          =   480
  34.       Left            =   8550
  35.       Picture         =   "T2WIN-16.frx":0000
  36.       ScaleHeight     =   480
  37.       ScaleWidth      =   480
  38.       TabIndex        =   0
  39.       Top             =   180
  40.       Visible         =   0   'False
  41.       Width           =   480
  42.    End
  43.    Begin VB.ComboBox Combo2 
  44.       Height          =   300
  45.       Left            =   6570
  46.       TabIndex        =   4
  47.       Top             =   450
  48.       Width           =   1185
  49.    End
  50.    Begin VB.TextBox Text1 
  51.       Height          =   285
  52.       Left            =   3150
  53.       TabIndex        =   10
  54.       Text            =   "Text1"
  55.       Top             =   7740
  56.       Width           =   5865
  57.    End
  58.    Begin VB.Frame Frame1 
  59.       Height          =   1455
  60.       Left            =   90
  61.       TabIndex        =   6
  62.       Top             =   6210
  63.       Visible         =   0   'False
  64.       Width           =   8925
  65.       Begin VB.ListBox List1 
  66.          Height          =   1200
  67.          Left            =   180
  68.          TabIndex        =   7
  69.          Top             =   180
  70.          Width           =   4155
  71.       End
  72.       Begin VB.ListBox List2 
  73.          Height          =   1200
  74.          Left            =   4590
  75.          TabIndex        =   8
  76.          Top             =   180
  77.          Width           =   4155
  78.       End
  79.    End
  80.    Begin VB.CommandButton Command1 
  81.       Caption         =   "&Start demo for the selected item"
  82.       Height          =   285
  83.       Left            =   90
  84.       TabIndex        =   2
  85.       Top             =   450
  86.       Width           =   4065
  87.    End
  88.    Begin VB.ComboBox Combo1 
  89.       Height          =   300
  90.       Left            =   90
  91.       TabIndex        =   1
  92.       Top             =   90
  93.       Width           =   7665
  94.    End
  95.    Begin VB.Label Label2 
  96.       Appearance      =   0  'Flat
  97.       BackColor       =   &H80000005&
  98.       BackStyle       =   0  'Transparent
  99.       Caption         =   "&Text for string manipulation"
  100.       ForeColor       =   &H80000008&
  101.       Height          =   195
  102.       Left            =   90
  103.       TabIndex        =   9
  104.       Top             =   7785
  105.       Width           =   2985
  106.    End
  107.    Begin VB.Label Label1 
  108.       BackStyle       =   0  'Transparent
  109.       Caption         =   "&Iterations for speed test"
  110.       Height          =   195
  111.       Left            =   4320
  112.       TabIndex        =   3
  113.       Top             =   510
  114.       Width           =   2175
  115.    End
  116.    Begin VB.Label Label3 
  117.       BackStyle       =   0  'Transparent
  118.       BorderStyle     =   1  'Fixed Single
  119.       Height          =   5340
  120.       Left            =   90
  121.       TabIndex        =   5
  122.       Top             =   810
  123.       Width           =   8925
  124.       WordWrap        =   -1  'True
  125.    End
  126. End
  127. Attribute VB_Name = "frmT2W"
  128. Attribute VB_Creatable = False
  129. Attribute VB_Exposed = False
  130. Option Explicit
  131. Option Base 1
  132.  
  133. Dim Item       As Integer
  134. Dim ItemFile   As Integer
  135. Dim ItemMean   As Integer
  136.  
  137. Const RandI = 32767
  138. Const RandL = 2147483647
  139. Const RandS = 1E+10!
  140. Const RandD = 1E+16
  141.  
  142. Dim Tmp  As String
  143.  
  144. Private Sub Combo2_Click()
  145.    Item = Val(Combo2.Text)
  146.    ItemFile = Val(Combo2.Text)
  147.    ItemMean = Val(Combo2.Text)
  148. End Sub
  149.  
  150. Private Sub Command1_Click()
  151.  
  152.    Static Flag    As Integer
  153.  
  154.    If (Flag = True) Then Exit Sub
  155.  
  156.    frmT2W.Tag = cGetIn(cEXEnameActiveWindow(), ".", 1)
  157.    
  158.    cDisableFI Picture1
  159.  
  160.    Flag = True
  161.    MousePointer = 11
  162.  
  163.    Frame1.Visible = False
  164.    List1.Clear
  165.    List2.Clear
  166.    List1.FontBold = True
  167.    List2.FontBold = True
  168.    Label3.Caption = ""
  169.  
  170.    DoEvents
  171.  
  172.    Select Case Combo1.ListIndex
  173.       Case 0
  174.          Frame1.Visible = True
  175.          Call TestAddI
  176.       Case 1
  177.          Frame1.Visible = True
  178.          Call TestDeviationI
  179.       Case 2
  180.          Frame1.Visible = True
  181.          Call TestFillI
  182.       Case 3
  183.          Frame1.Visible = True
  184.          Call TestMaxI
  185.       Case 4
  186.          Frame1.Visible = True
  187.          Call TestMeanI
  188.       Case 5
  189.          Frame1.Visible = True
  190.          Call TestMinI
  191.       Case 6
  192.          Frame1.Visible = True
  193.          Call TestSetI
  194.       Case 7
  195.          Frame1.Visible = True
  196.          Call TestSumI
  197.       Case 8
  198.          Frame1.Visible = True
  199.          Call TestSortI
  200.       Case 9
  201.          Frame1.Visible = True
  202.          Call TestReverseSortI
  203.       Case 10
  204.          Call TestAddTime
  205.       Case 11
  206.          Call TestTimeBetween
  207.       Case 12
  208.          Call TestCheckTime
  209.       Case 13
  210.          Call TestHourTo
  211.       Case 14
  212.          Call TestWindowsIni
  213.       Case 15
  214.          Call TestWinINI1
  215.       Case 16
  216.          Call TestWinINI2
  217.       Case 17
  218.          Call TestWinINI3
  219.       Case 18
  220.          Call TestAllSubDir
  221.       Case 19
  222.          Call TestGetDriveCurrentDir
  223.       Case 20
  224.          Call TestGetDefaultCurrentDir
  225.       Case 21
  226.          Call TestChDir
  227.       Case 22
  228.          Call TestCountFiles
  229.       Case 23
  230.          Call TestCountDirectories
  231.       Case 24
  232.          Call TestKillFiles
  233.       Case 25
  234.          Call TestGetFullnameInEnv
  235.       Case 26
  236.          Call TestGetDiskSpace
  237.       Case 27
  238.          Call TestGetDiskUsed
  239.       Case 28
  240.          Call TestGetDiskFree
  241.       Case 29
  242.          Call TestKillDir
  243.       Case 30
  244.          Call TestRenameFile
  245.       Case 31
  246.          Call TestFileResetAllAttrib
  247.       Case 32
  248.          Call TestFileSetAllAttrib
  249.       Case 33
  250.          Call TestIsFileX
  251.       Case 34
  252.          Call TestSubDirectory
  253.       Case 35
  254.          Call TestUniqueFileName
  255.       Case 36
  256.          Call TestIsX
  257.       Case 37
  258.          Call TestOneCharFromLeft
  259.       Case 38
  260.          Call TestOneCharFromRight
  261.       Case 39
  262.          Call TestBlockCharFromLeft
  263.       Case 40
  264.          Call TestBlockCharFromRight
  265.       Case 41
  266.          Call TestCompact
  267.       Case 42
  268.          Call TestUncompact
  269.       Case 43
  270.          Call TestInsertChars
  271.       Case 44
  272.          Call TestRemoveBlockChar
  273.       Case 45
  274.          Call TestRemoveOneChar
  275.       Case 46
  276.          Call TestCompressTab
  277.       Case 47
  278.          Call TestExpandTab
  279.       Case 48
  280.          Call TestGiveBitPalindrome
  281.       Case 49
  282.          Call TestIsBitPalindrome
  283.       Case 50
  284.          Call TestInsertBlocksBy
  285.       Case 51
  286.          Call TestInsertBlocks
  287.       Case 52
  288.          Call TestResizeStringAndFill
  289.       Case 53
  290.          Call TestResizeString
  291.       Case 54
  292.          Call TestFilterBlocks
  293.       Case 55
  294.          Call TestFilterChars
  295.       Case 56
  296.          Call TestCheckChars
  297.       Case 57
  298.          Call TestChangeChars
  299.       Case 58
  300.          Call TestChangeCharsUntil
  301.       Case 59
  302.          Call TestReverse
  303.       Case 60
  304.          Call TestGetIn
  305.       Case 61
  306.          Call TestGetBlock
  307.       Case 62
  308.          Call TestCreateAndFill
  309.       Case 63
  310.          Call TestStringCRC32
  311.       Case 64
  312.          Call TestCompress
  313.       Case 65
  314.          Call TestEncrypt
  315.       Case 66
  316.          Call TestDecrypt
  317.       Case 67
  318.          Call TestFileCRC32
  319.       Case 68
  320.          Call TestLrc
  321.       Case 69
  322.          Call TestIsPalindrome
  323.       Case 70
  324.          Call TestCheckNumericity
  325.       Case 71
  326.          Call TestFill
  327.       Case 72
  328.          Call TestSetAllBits
  329.       Case 73
  330.          Call TestSetBit
  331.       Case 74
  332.          Call TestGetBit
  333.       Case 75
  334.          Call TestFindBitSet
  335.       Case 76
  336.          Call TestFindBitReset
  337.       Case 77
  338.          Call TestToggleBit
  339.       Case 78
  340.          Call TestToggleAllBits
  341.       Case 79
  342.          Call TestReverseAllBits
  343.       Case 80
  344.          Call TestReverseAllBitsByChar
  345.       Case 81
  346.          Call TestCreateBits
  347.       Case 82
  348.          Call TestAtoR
  349.       Case 83
  350.          Call TestRtoA
  351.       Case 84
  352.          Call TestCustomControls
  353.       Case 85
  354.          Call TestSwap
  355.       Case 86
  356.          Call TestMin
  357.       Case 87
  358.          Call TestMenuChange
  359.       Case 88
  360.          Call TestFilesSize
  361.       Case 89
  362.          Call TestClusterSize
  363.       Case 90
  364.          Call TestAscTime
  365.       Case 91
  366.          Call TestLanguage
  367.       Case 92
  368.          Call TestReadLanguage
  369.       Case 93
  370.          Call TestFileCmp
  371.       Case 94
  372.          Call TestFileCopy
  373.       Case 95
  374.          Call TestFileFilter
  375.       Case 96
  376.          Call TestFileFilterNot
  377.       Case 97
  378.          Call TestFileEncrypt
  379.       Case 98
  380.          Call TestFileCompressTab
  381.       Case 99
  382.          Call TestSplitPath
  383.       Case 100
  384.          Call TestFullPath
  385.       Case 101
  386.          Call TestMakePath
  387.       Case 102
  388.          Call TestMsgBox
  389.       Case 103
  390.          Call TestInpBox
  391.       Case 104
  392.          Call TestMixChars
  393.       Case 105
  394.          Call TestFileVersionInfo
  395.       Case 106
  396.          Call TestFileVersion
  397.       Case 107
  398.          Call TestFileLineCount
  399.       Case 108
  400.          Call TestFileToX
  401.       Case 109
  402.          Call TestBig
  403.       Case 110
  404.          Call TestBigNum
  405.       Case 111
  406.          Call TestSysMenuChange(LNG_FRENCH)
  407.       Case 112
  408.          Call TestSysMenuChange(LNG_DUTCH)
  409.       Case 113
  410.          Call TestSysMenuChange(LNG_GERMAN)
  411.       Case 114
  412.          Call TestSysMenuChange(LNG_ENGLISH)
  413.       Case 115
  414.          Call TestSysMenuChange(LNG_ITALIAN)
  415.       Case 116
  416.          Call TestSysMenuChange(LNG_SPANISH)
  417.       Case 117
  418.          Call TestFileMerge
  419.       Case 118
  420.          Call TestFileSR
  421.       Case 119
  422.          Call TestFileS
  423.       Case 120
  424.          Call TestPatternMatch
  425.       Case 121
  426.          Call TestPatternExtMatch
  427.       Case 122
  428.          Call TestMorse
  429.       Case 123
  430.          Call TestDriveType
  431.       Case 124
  432.          Call TestBaseConversion
  433.       Case 125
  434.          Call TestFileStatictics
  435.       Case 126
  436.          Call TestDAStr(True)
  437.       Case 127
  438.          Call TestDAL(True)
  439.       Case 128
  440.          Call TestDAType(True)
  441.       Case 129
  442.          Call TestDAStr(False)
  443.       Case 130
  444.          Call TestDAL(False)
  445.       Case 131
  446.          Call TestDAType(False)
  447.       Case 132
  448.          Call TestDAStr(1)
  449.       Case 133
  450.          Call TestDAL(1)
  451.       Case 134
  452.          Call TestDAType(1)
  453.       Case 135
  454.          Call TestDAStr(2)
  455.       Case 136
  456.          Call TestDAL(2)
  457.       Case 137
  458.          Call TestDAType(2)
  459.       Case 138
  460.          Call TestDAStr(3)
  461.       Case 139
  462.          Call TestDAL(3)
  463.       Case 140
  464.          Call TestDAType(3)
  465.       Case 141
  466.          Call TestDAStr(4)
  467.       Case 142
  468.          Call TestDAL(4)
  469.       Case 143
  470.          Call TestDAType(4)
  471.       Case 144
  472.          Call TestDAStr(5)
  473.       Case 145
  474.          Call TestDAL(5)
  475.       Case 146
  476.          Call TestDAType(5)
  477.       Case 147
  478.          Call TestDAStr(6)
  479.       Case 148
  480.          Call TestDAL(6)
  481.       Case 149
  482.          Call TestDAType(6)
  483.       Case 150
  484.          Call TestCloseAllEditForm
  485.       Case 151
  486.          Call TestHideAllEditForm
  487.       Case 152
  488.          Call TestHideDebugForm
  489.       Case 153
  490.          Call TestOrToken
  491.       Case 154
  492.          Call TestAndToken
  493.       Case 155
  494.          Call TestWalkThruWindow
  495.       Case 156
  496.          Call TestSerial
  497.       Case 157
  498.          Call TestTimer
  499.       Case 158
  500.          Call TestAlign
  501.       Case 159
  502.          Call TestToken
  503.       Case 160
  504.          Call TestArrayOnDisk
  505.       Case 161
  506.          Call TestArrayStringOnDisk
  507.       Case 162
  508.          Call TestCnvAE
  509.       Case 163
  510.          Call TestCombination
  511.       Case 164
  512.          Frame1.Visible = True
  513.          Call TestFileSort(SORT_ASCENDING + SORT_CASE_SENSITIVE, False)
  514.       Case 165
  515.          Frame1.Visible = True
  516.          Call TestFileSort(SORT_DESCENDING + SORT_CASE_SENSITIVE, False)
  517.       Case 166
  518.          Frame1.Visible = True
  519.          Call TestFileSort(SORT_ASCENDING + SORT_CASE_INSENSITIVE, False)
  520.       Case 167
  521.          Frame1.Visible = True
  522.          Call TestFileSort(SORT_DESCENDING + SORT_CASE_INSENSITIVE, False)
  523.       Case 168
  524.          Frame1.Visible = True
  525.          Call TestFileSort(SORT_ASCENDING + SORT_CASE_SENSITIVE, True)
  526.       Case 169
  527.          Frame1.Visible = True
  528.          Call TestFileSort(SORT_DESCENDING + SORT_CASE_SENSITIVE, True)
  529.       Case 170
  530.          Frame1.Visible = True
  531.          Call TestFileSort(SORT_ASCENDING + SORT_CASE_INSENSITIVE, True)
  532.       Case 171
  533.          Frame1.Visible = True
  534.          Call TestFileSort(SORT_DESCENDING + SORT_CASE_INSENSITIVE, True)
  535.       Case 172
  536.          Call TestRegistrationKey
  537.       Case 173
  538.          Call TestMD5
  539.       Case 174
  540.          Call TestProperName
  541.       Case 175
  542.          Call TestMatrixAdd
  543.       Case 176
  544.          Call TestMatrixSub
  545.       Case 177
  546.          Call TestMatrixCopy
  547.       Case 178
  548.          Call TestMatrixMul
  549.       Case 179
  550.          Call TestMatrixTranspose
  551.       Case 180
  552.          Call TestMatrixCompare
  553.       Case 181
  554.          Call Test2D
  555.       Case 182
  556.          Call Test3D
  557.       Case 183
  558.          Call TestProperName2
  559.       Case 184
  560.          Call TestDOSMediaID
  561.       Case 185
  562.          Call TestFileCompress
  563.       Case 186
  564.          Call TestStringCompress
  565.       Case 187
  566.          Frame1.Visible = True
  567.          Call TestFillIncrI
  568.       Case 188
  569.          Call TestMatrixDet
  570.       Case 189
  571.          Call TestMatrixInv
  572.       Case 190
  573.          Call TestMatrixMinCo
  574.       Case 191
  575.          Call TestMatrixSymToeplitz
  576.       Case 192
  577.          Call TestFloppyInfo
  578.       Case 193
  579.          Call TestDOSGetVolLabel
  580.       Case 194
  581.          Call TestAddTwoTimes
  582.       Case 195
  583.          Call TestMDA(True)
  584.       Case 196
  585.          Call TestMDA(False)
  586.       Case 197
  587.          Call TestMDA(1)
  588.       Case 198
  589.          Call TestMDA(2)
  590.       Case 199
  591.          Call TestMDA(3)
  592.       Case 200
  593.          Call TestMDA(4)
  594.       Case 201
  595.          Call TestMDA(5)
  596.       Case 202
  597.          Call TestMDA(6)
  598.       Case 203
  599.          Call TestDate
  600.       Case 204
  601.          Call TestVersion
  602.       Case 205
  603.          Call TestGetInR
  604.       Case 206
  605.          Call TestBigString01
  606.       Case 207
  607.          Call TestHMAStr(True)
  608.       Case 208
  609.          Call TestHMAL(True)
  610.       Case 209
  611.          Call TestHMAType(True)
  612.       Case 210
  613.          Call TestHMAStr(1)
  614.       Case 211
  615.          Call TestHMAL(1)
  616.       Case 212
  617.          Call TestHMAType(1)
  618.       Case 213
  619.          Call TestHMAStr(2)
  620.       Case 214
  621.          Call TestHMAL(2)
  622.       Case 215
  623.          Call TestHMAType(2)
  624.       Case 216
  625.          Call TestHMAStr(3)
  626.       Case 217
  627.          Call TestHMAL(3)
  628.       Case 218
  629.          Call TestHMAType(3)
  630.       Case 219
  631.          Call TestHMAStr(4)
  632.       Case 220
  633.          Call TestHMAL(4)
  634.       Case 221
  635.          Call TestHMAType(4)
  636.       Case 222
  637.          Call TestHMAStr(5)
  638.       Case 223
  639.          Call TestHMAL(5)
  640.       Case 224
  641.          Call TestHMAType(5)
  642.       Case 225
  643.          Call TestHMAStr(6)
  644.       Case 226
  645.          Call TestHMAL(6)
  646.       Case 227
  647.          Call TestHMAType(6)
  648.       Case 228
  649.          Frame1.Visible = True
  650.          Call TestArrayLB
  651.       Case 229
  652.          Call TestTime
  653.       Case 230
  654.          Call TestControl3D
  655.       Case 231
  656.          Call TestFileChangeChars
  657.       Case 232
  658.          Call TestFilesInfoInDir
  659.       Case 233
  660.          Call TestRcsCountFileDir
  661.       Case 234
  662.          Frame1.Visible = True
  663.          Call TestFilesInDirOnDisk
  664.       Case 235
  665.          Frame1.Visible = True
  666.          Call TestFilesInDirToArray
  667.       Case 236
  668.          Call TestRcsFilesSize
  669.       Case 237
  670.          Call TestMnuLanguage
  671.       Case 238
  672.          Call TestSpellMoney
  673.       Case 239
  674.          Call TestFraction
  675.       Case 240
  676.          Call TestRndX
  677.       Case 241
  678.          Call TestStringSAR
  679.       Case 242
  680.          Call TestTruncatePath
  681.       Case 243
  682.          Call TestSysMenuChange(LNG_CATALAN)
  683.          Call TestLanguage
  684.          SendKeys "% "
  685.       Case 244
  686.          Call TestSysMenuChange(LNG_POLISH)
  687.          Call TestLanguage
  688.          SendKeys "% "
  689.       Case 245
  690.          Frame1.Visible = True
  691.          Call TestCountI
  692.       Case 246
  693.          Frame1.Visible = True
  694.          Call TestSearchI
  695.       Case 247
  696.          Call TestHexaToX
  697.       Case 248
  698.          Call TestBinaryToX
  699.    End Select
  700.  
  701.    MousePointer = 0
  702.  
  703.    Flag = False
  704.  
  705.    cEnableFI Picture1
  706.    
  707. End Sub
  708.  
  709. Private Sub CreateFile()
  710.  
  711.    Dim j       As Integer
  712.  
  713.    j = cFileResetAllAttrib("TEST.DAT")
  714.  
  715.    Close #1
  716.    Open "TEST.DAT" For Output As #1
  717.    Print #1, "This is a file test for t2win-16.dll"
  718.    Print #1, "This is a file test for t2win-16.dll"
  719.    Print #1, "This is a file test for t2win-16.dll"
  720.    Print #1, "This is a file test for t2win-16.dll"
  721.    Print #1, "This is a file test for t2win-16.dll"
  722.    Print #1, "This is a file test for t2win-16.dll"
  723.    Print #1, "This is a file test for t2win-16.dll"
  724.    Close #1
  725.  
  726.    j = cFileResetAllAttrib("TEST.DAT")
  727.  
  728. End Sub
  729.  
  730. Private Sub DefCnv()
  731.  
  732.    Dim i       As Integer
  733.    Dim j       As Integer
  734.    Dim Tmp     As String
  735.  
  736.    Close #1
  737.    Open "c:\tmp\tmp1.Tmp" For Input Shared As #1
  738.    Close #2
  739.    Open "c:\tmp\tmp.Tmp" For Output Shared As #2
  740.  
  741.    i = 0
  742.  
  743.    While Not EOF(1)
  744.       Line Input #1, Tmp
  745.       i = i + 1
  746.       Tmp = cCompress(Tmp)
  747.       Print #2, Tab(10); cGetIn(Tmp, "@", 1);
  748.       Print #2, Tab(60); "@" & i
  749.    Wend
  750.  
  751.    Close #1
  752.    Close #2
  753.  
  754. End Sub
  755.  
  756.  
  757. Private Sub Form_Load()
  758.  
  759.    Combo2.AddItem "1"
  760.    Combo2.AddItem "5"
  761.    Combo2.AddItem "10"
  762.    Combo2.AddItem "50"
  763.    Combo2.AddItem "100"
  764.    Combo2.AddItem "500"
  765.    Combo2.AddItem "1000"
  766.    Combo2.AddItem "5000"
  767.    
  768.    Combo1.AddItem "Array routines : Add"
  769.    Combo1.AddItem "Array routines : Deviation"
  770.    Combo1.AddItem "Array routines : Fill"
  771.    Combo1.AddItem "Array routines : Max"
  772.    Combo1.AddItem "Array routines : Mean"
  773.    Combo1.AddItem "Array routines : Min"
  774.    Combo1.AddItem "Array routines : Set"
  775.    Combo1.AddItem "Array routines : Sum"
  776.    Combo1.AddItem "Array routines : Sort"
  777.    Combo1.AddItem "Array routines : ReverseSort"
  778.    Combo1.AddItem "Time routines : AddTime"
  779.    Combo1.AddItem "Time routines : TimeBetween"
  780.    Combo1.AddItem "Time routines : CheckTime"
  781.    Combo1.AddItem "Time routines : HourTo"
  782.    Combo1.AddItem "WIN.INI routines : some separators"
  783.    Combo1.AddItem "WIN.INI routines : devices"
  784.    Combo1.AddItem "WIN.INI routines : printerports"
  785.    Combo1.AddItem "WIN.INI routines : winsection (windows section)"
  786.    Combo1.AddItem "Files routines : AllSubDirectories"
  787.    Combo1.AddItem "Files routines : GetDriveCurrentDir"
  788.    Combo1.AddItem "Files routines : GetDefaultCurrentDir"
  789.    Combo1.AddItem "Files routines : ChDir"
  790.    Combo1.AddItem "Files routines : CountFiles"
  791.    Combo1.AddItem "Files routines : CountDirectories"
  792.    Combo1.AddItem "Files routines : KillFiles"
  793.    Combo1.AddItem "Files routines : GetFullnameInEnv"
  794.    Combo1.AddItem "Files routines : GetDiskSpace"
  795.    Combo1.AddItem "Files routines : GetDiskUsed"
  796.    Combo1.AddItem "Files routines : GetDiskFree"
  797.    Combo1.AddItem "Files routines : KillDir"
  798.    Combo1.AddItem "Files routines : RenameFile"
  799.    Combo1.AddItem "Files routines : FileResetAllAttrib"
  800.    Combo1.AddItem "Files routines : FileSetAllAttrib"
  801.    Combo1.AddItem "Files routines : IsFileX"
  802.    Combo1.AddItem "Files routines : SubDirectory"
  803.    Combo1.AddItem "Files routines : UniqueFileName"
  804.    Combo1.AddItem "String routines : IsX"
  805.    Combo1.AddItem "String routines : OneCharFromLeft"
  806.    Combo1.AddItem "String routines : OneCharFromRight"
  807.    Combo1.AddItem "String routines : BlockCharFromLeft"
  808.    Combo1.AddItem "String routines : BlockCharFromRight"
  809.    Combo1.AddItem "String routines : Compact"
  810.    Combo1.AddItem "String routines : Uncompact"
  811.    Combo1.AddItem "String routines : InsertChars"
  812.    Combo1.AddItem "String routines : RemoveBlockChar"
  813.    Combo1.AddItem "String routines : RemoveOneChar"
  814.    Combo1.AddItem "String routines : CompressTab"
  815.    Combo1.AddItem "String routines : ExpandTab"
  816.    Combo1.AddItem "String routines : GiveBitPalindrome"
  817.    Combo1.AddItem "String routines : IsBitPalindrome"
  818.    Combo1.AddItem "String routines : InsertBlocksBy"
  819.    Combo1.AddItem "String routines : InsertBlocks"
  820.    Combo1.AddItem "String routines : ResizeStringAndFill"
  821.    Combo1.AddItem "String routines : ResizeString"
  822.    Combo1.AddItem "String routines : FilterBlocks"
  823.    Combo1.AddItem "String routines : FilterChars"
  824.    Combo1.AddItem "String routines : CheckChars"
  825.    Combo1.AddItem "String routines : ChangeChars"
  826.    Combo1.AddItem "String routines : ChangeCharsUntil"
  827.    Combo1.AddItem "String routines : Reverse"
  828.    Combo1.AddItem "String routines : GetIn"
  829.    Combo1.AddItem "String routines : GetBlock"
  830.    Combo1.AddItem "String routines : CreateAndFill"
  831.    Combo1.AddItem "String routines : StringCRC32"
  832.    Combo1.AddItem "String routines : Compress"
  833.    Combo1.AddItem "String routines : Encrypt"
  834.    Combo1.AddItem "String routines : Decrypt"
  835.    Combo1.AddItem "Files  routines : FileCRC32"
  836.    Combo1.AddItem "String routines : Lrc"
  837.    Combo1.AddItem "String routines : IsPalindrome"
  838.    Combo1.AddItem "String routines : CheckNumericity"
  839.    Combo1.AddItem "String routines : Fill"
  840.    Combo1.AddItem "String routines : SetAllBits"
  841.    Combo1.AddItem "String routines : SetBit"
  842.    Combo1.AddItem "String routines : GetBit"
  843.    Combo1.AddItem "String routines : FindBitSet"
  844.    Combo1.AddItem "String routines : FindBitReset"
  845.    Combo1.AddItem "String routines : ToggleBit"
  846.    Combo1.AddItem "String routines : ToggleAllBits"
  847.    Combo1.AddItem "String routines : ReverseAllBits"
  848.    Combo1.AddItem "String routines : ReverseAllBitsByChar"
  849.    Combo1.AddItem "String routines : CreateBits"
  850.    Combo1.AddItem "String routines : ArabicToRoman"
  851.    Combo1.AddItem "String routines : RomanToArabic"
  852.    Combo1.AddItem "Custom controls"
  853.    Combo1.AddItem "Swap routines"
  854.    Combo1.AddItem "Min,Max routines"
  855.    Combo1.AddItem "System menu change : French"
  856.    Combo1.AddItem "Files routines : FilesSize, FilesSizeOnDisk, FilesSlack"
  857.    Combo1.AddItem "Files routines : GetClusterSize"
  858.    Combo1.AddItem "Language routines : GetAscTime"
  859.    Combo1.AddItem "Language routines : Days and months name"
  860.    Combo1.AddItem "Language routines : Read Control Language"
  861.    Combo1.AddItem "File routines : Compare"
  862.    Combo1.AddItem "File routines : File Copy"
  863.    Combo1.AddItem "File routines : File Filter"
  864.    Combo1.AddItem "File routines : File Filter Not"
  865.    Combo1.AddItem "File routines : File Encrypt/Decrypt"
  866.    Combo1.AddItem "File routines : File Compress/Expand Tab"
  867.    Combo1.AddItem "File routines : SplitPath"
  868.    Combo1.AddItem "File routines : FullPath"
  869.    Combo1.AddItem "File routines : MakePath"
  870.    Combo1.AddItem "Language routines : Multi-Language & TimeOut Message Box"
  871.    Combo1.AddItem "Language routines : Multi-Language Input Box"
  872.    Combo1.AddItem "String routines : MixChars"
  873.    Combo1.AddItem "Windows Specific Routines : FileVersionInfo"
  874.    Combo1.AddItem "Windows Specific Routines : FileVersion"
  875.    Combo1.AddItem "File routines : FileLineCount"
  876.    Combo1.AddItem "File routines : FileToLower/FileToUpper"
  877.    Combo1.AddItem "Misc. routines : Big Double"
  878.    Combo1.AddItem "Misc. routines : Big Numbers"
  879.    Combo1.AddItem "System menu change (one call) : French"
  880.    Combo1.AddItem "System menu change (one call) : Dutch"
  881.    Combo1.AddItem "System menu change (one call) : German"
  882.    Combo1.AddItem "System menu change (one call) : English"
  883.    Combo1.AddItem "System menu change (one call) : Italian"
  884.    Combo1.AddItem "System menu change (one call) : Spanish"
  885.    Combo1.AddItem "File routines : FileMerge"
  886.    Combo1.AddItem "File routines : FileSearchAndReplace"
  887.    Combo1.AddItem "File routines : FileSearch, FileSearchCount"
  888.    Combo1.AddItem "String routines : PatternMatch"
  889.    Combo1.AddItem "String routines : PatternExtMatch"
  890.    Combo1.AddItem "Misc. routines : Morse"
  891.    Combo1.AddItem "DOS routines : GetDriveType"
  892.    Combo1.AddItem "Misc. routines : Base conversion"
  893.    Combo1.AddItem "File routines : FileStatistics"
  894.    Combo1.AddItem "Disk Array routines : (create) String"
  895.    Combo1.AddItem "Disk Array routines : (create) Long"
  896.    Combo1.AddItem "Disk Array routines : (create) Type'd (b.e. : tagTASKENTRY)"
  897.    Combo1.AddItem "Disk Array routines : (use) String"
  898.    Combo1.AddItem "Disk Array routines : (use) Long"
  899.    Combo1.AddItem "Disk Array routines : (use) Type'd (b.e. : tagTASKENTRY)"
  900.    Combo1.AddItem "Disk Array routines : (clear) String"
  901.    Combo1.AddItem "Disk Array routines : (clear) Long"
  902.    Combo1.AddItem "Disk Array routines : (clear) Type'd (b.e. : tagTASKENTRY)"
  903.    Combo1.AddItem "Disk Array routines : (clear sheet 2) String"
  904.    Combo1.AddItem "Disk Array routines : (clear sheet 2) Long"
  905.    Combo1.AddItem "Disk Array routines : (clear sheet 2) Type'd (b.e. : tagTASKENTRY)"
  906.    Combo1.AddItem "Disk Array routines : (clear last row in sheet 1) String"
  907.    Combo1.AddItem "Disk Array routines : (clear last row in sheet 1) Long"
  908.    Combo1.AddItem "Disk Array routines : (clear last row in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  909.    Combo1.AddItem "Disk Array routines : (clear last col in sheet 1) String"
  910.    Combo1.AddItem "Disk Array routines : (clear last col in sheet 1) Long"
  911.    Combo1.AddItem "Disk Array routines : (clear last col in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  912.    Combo1.AddItem "Disk Array routines : (clear last row in all sheets) String"
  913.    Combo1.AddItem "Disk Array routines : (clear last row in all sheets) Long"
  914.    Combo1.AddItem "Disk Array routines : (clear last row in all sheets) Type'd (b.e. : tagTASKENTRY)"
  915.    Combo1.AddItem "Disk Array routines : (clear last col in all sheets) String"
  916.    Combo1.AddItem "Disk Array routines : (clear last col in all sheets) Long"
  917.    Combo1.AddItem "Disk Array routines : (clear last col in all sheets) Type'd (b.e. : tagTASKENTRY)"
  918.    Combo1.AddItem "VB Management routines : CloseAllEditForm"
  919.    Combo1.AddItem "VB Management routines : HideAllEditForm, UnHideAllEditForm"
  920.    Combo1.AddItem "VB Management routines : HideDebugForm, UnHideDebugForm"
  921.    Combo1.AddItem "String routines : OrToken, OrTokenIn"
  922.    Combo1.AddItem "String routines : AndToken, AndTokenIn"
  923.    Combo1.AddItem "Windows Specific Routines : WalkThruWindow"
  924.    Combo1.AddItem "Serialization : IsSerial, SerialGet, SerialPut, SerialInc"
  925.    Combo1.AddItem "Timer functions : Extended Timer"
  926.    Combo1.AddItem "String routines : Align"
  927.    Combo1.AddItem "String routines : Token"
  928.    Combo1.AddItem "Array routines : ArrayOnDisk"
  929.    Combo1.AddItem "Array routines : ArrayStringOnDisk"
  930.    Combo1.AddItem "String routines : cCnvASCIItoEBCDIC, cCnvEBCDICtoASCII"
  931.    Combo1.AddItem "Misc. routines : Combination C(n,m)"
  932.    Combo1.AddItem "File routines : FileSort (ASC and CS) (record ended with cr/lf)"
  933.    Combo1.AddItem "File routines : FileSort (DSC and CS) (record ended with cr/lf)"
  934.    Combo1.AddItem "File routines : FileSort (ASC and NS) (record ended with cr/lf)"
  935.    Combo1.AddItem "File routines : FileSort (DSC and NS) (record ended with cr/lf)"
  936.    Combo1.AddItem "File routines : FileSort (ASC and CS) (record size 3)"
  937.    Combo1.AddItem "File routines : FileSort (DSC and CS) (record size 3)"
  938.    Combo1.AddItem "File routines : FileSort (ASC and NS) (record size 3)"
  939.    Combo1.AddItem "File routines : FileSort (DSC and NS) (record size 3)"
  940.    Combo1.AddItem "Misc. routines : RegistrationKey"
  941.    Combo1.AddItem "Misc. routines : HashMD5"
  942.    Combo1.AddItem "String routines : ProperName"
  943.    Combo1.AddItem "Matrix routines : MatrixAdd"
  944.    Combo1.AddItem "Matrix routines : MatrixSub"
  945.    Combo1.AddItem "Matrix routines : MatrixCopy"
  946.    Combo1.AddItem "Matrix routines : MatrixMul"
  947.    Combo1.AddItem "Matrix routines : MatrixTranspose"
  948.    Combo1.AddItem "Matrix routines : MatrixCompare"
  949.    Combo1.AddItem "2-D geometry"
  950.    Combo1.AddItem "3-D geometry"
  951.    Combo1.AddItem "String routines : ProperName2"
  952.    Combo1.AddItem "DOS routines : DOSMediaID"
  953.    Combo1.AddItem "File routines : File Compress/Expand"
  954.    Combo1.AddItem "String routines : String Compress/Expand"
  955.    Combo1.AddItem "Array routines : FillIncrI"
  956.    Combo1.AddItem "Matrix routines : MatrixDet"
  957.    Combo1.AddItem "Matrix routines : MatrixInv"
  958.    Combo1.AddItem "Matrix routines : MatrixMinor,MatrixCoFactor"
  959.    Combo1.AddItem "Matrix routines : MatrixSymToeplitz"
  960.    Combo1.AddItem "DOS routines : FloppyInfo"
  961.    Combo1.AddItem "DOS routines : DOSGetVolumeLabel"
  962.    Combo1.AddItem "Time routines : AddTwoTimes"
  963.    Combo1.AddItem "Multiple Disk Array routines : (create)"
  964.    Combo1.AddItem "Multiple Disk Array routines : (use)"
  965.    Combo1.AddItem "Multiple Disk Array routines : (clear)"
  966.    Combo1.AddItem "Multiple Disk Array routines : (clear sheet 2)"
  967.    Combo1.AddItem "Multiple Disk Array routines : (clear last row in sheet 1)"
  968.    Combo1.AddItem "Multiple Disk Array routines : (clear last col in sheet 1)"
  969.    Combo1.AddItem "Multiple Disk Array routines : (clear last row in all sheets)"
  970.    Combo1.AddItem "Multiple Disk Array routines : (clear last col in all sheets)"
  971.    Combo1.AddItem "Date routines : DayOfWeek, DayOfYear, WeekOfYear, ..."
  972.    Combo1.AddItem "Misc. routines : GetVersion"
  973.    Combo1.AddItem "String routines : GetInR, GetInPart, GetInPartR"
  974.    Combo1.AddItem "Huge String"
  975.    Combo1.AddItem "Huge Memory Array : (create) String"
  976.    Combo1.AddItem "Huge Memory Array : (create) Long"
  977.    Combo1.AddItem "Huge Memory Array : (create) Type'd (b.e. : tagTASKENTRY)"
  978.    Combo1.AddItem "Huge Memory Array : (clear) String"
  979.    Combo1.AddItem "Huge Memory Array : (clear) Long"
  980.    Combo1.AddItem "Huge Memory Array : (clear) Type'd (b.e. : tagTASKENTRY)"
  981.    Combo1.AddItem "Huge Memory Array : (clear sheet 2) String"
  982.    Combo1.AddItem "Huge Memory Array : (clear sheet 2) Long"
  983.    Combo1.AddItem "Huge Memory Array : (clear sheet 2) Type'd (b.e. : tagTASKENTRY)"
  984.    Combo1.AddItem "Huge Memory Array : (clear last row in sheet 1) String"
  985.    Combo1.AddItem "Huge Memory Array : (clear last row in sheet 1) Long"
  986.    Combo1.AddItem "Huge Memory Array : (clear last row in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  987.    Combo1.AddItem "Huge Memory Array : (clear last col in sheet 1) String"
  988.    Combo1.AddItem "Huge Memory Array : (clear last col in sheet 1) Long"
  989.    Combo1.AddItem "Huge Memory Array : (clear last col in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  990.    Combo1.AddItem "Huge Memory Array : (clear last row in all sheets) String"
  991.    Combo1.AddItem "Huge Memory Array : (clear last row in all sheets) Long"
  992.    Combo1.AddItem "Huge Memory Array : (clear last row in all sheets) Type'd (b.e. : tagTASKENTRY)"
  993.    Combo1.AddItem "Huge Memory Array : (clear last col in all sheets) String"
  994.    Combo1.AddItem "Huge Memory Array : (clear last col in all sheets) Long"
  995.    Combo1.AddItem "Huge Memory Array : (clear last col in all sheets) Type'd (b.e. : tagTASKENTRY)"
  996.    Combo1.AddItem "Array routines : ArrayToListBox"
  997.    Combo1.AddItem "Time routines : TimeToScalar, ScalarToTime"
  998.    Combo1.AddItem "3D routines : Ctl3D, 3D, GetCtlRect, GetCtlRectTwips"
  999.    Combo1.AddItem "File routines : FileChangeChars"
  1000.    Combo1.AddItem "File routines : FilesInfoInDir"
  1001.    Combo1.AddItem "File routines : RcsCountFileDir"
  1002.    Combo1.AddItem "File routines : FilesInDirOnDisk"
  1003.    Combo1.AddItem "File routines : FilesInDirToArray"
  1004.    Combo1.AddItem "Files routines : rcsFilesSize, rcsFilesSizeOnDisk, rcsFilesSlack"
  1005.    Combo1.AddItem "Language routines : Read Menu Language"
  1006.    Combo1.AddItem "String routines : SpellMoney"
  1007.    Combo1.AddItem "Misc. routines : Fraction"
  1008.    Combo1.AddItem "Misc. routines : Rndx"
  1009.    Combo1.AddItem "String routines : StringSAR"
  1010.    Combo1.AddItem "File routines : TruncatePath"
  1011.    Combo1.AddItem "System menu change (one call) : Catalan"
  1012.    Combo1.AddItem "System menu change (one call) : Polish"
  1013.    Combo1.AddItem "Array routines : Count"
  1014.    Combo1.AddItem "Array routines : Search"
  1015.    Combo1.AddItem "String routines : H2I, H2L"
  1016.    Combo1.AddItem "String routines : B2I, B2L"
  1017.  
  1018.    Combo1.ListIndex = Combo1.ListCount - 1
  1019.    Combo2.ListIndex = 2
  1020.  
  1021.    Item = Val(Combo2.Text)
  1022.    ItemFile = Val(Combo2.Text)
  1023.    ItemMean = Val(Combo2.Text)
  1024.  
  1025.    Text1.Text = "A/BC/DEF/GHIJ"
  1026.  
  1027. End Sub
  1028.  
  1029. Private Sub Form_Paint()
  1030.  
  1031.    'Dim i As Integer
  1032.    'Dim N As Integer
  1033.    
  1034.    'N = frmT2W.Controls.Count - 1
  1035.  
  1036.    'For i = 0 To N
  1037.    '   If ((frmT2W.Controls(i).Visible = True) And (frmT2W.Controls(i).Enabled = True)) Then
  1038.    '      Call c3D(frmT2W.Controls(i), 0, 0)
  1039.    '   End If
  1040.    'Next i
  1041.  
  1042. End Sub
  1043.  
  1044. Private Sub Form_Unload(Cancel As Integer)
  1045.    Call cShowWindow(frmT2W.hWnd, 1, 125)
  1046. End Sub
  1047.  
  1048. Private Sub Label2_DblClick()
  1049.  
  1050.    Dim i       As Integer
  1051.    Dim N       As Integer
  1052.  
  1053.    N = Combo1.ListCount - 1
  1054.  
  1055.    For i = 0 To N
  1056.       Combo1.ListIndex = i
  1057.       DoEvents
  1058.       Call Command1_Click
  1059.       DoEvents
  1060.    Next i
  1061.  
  1062. End Sub
  1063.  
  1064. Private Sub Test2D()
  1065.  
  1066.    Dim Tmp1       As String
  1067.  
  1068.    Dim i          As Integer
  1069.    Dim j          As Integer
  1070.    Dim k          As Double
  1071.  
  1072.    Dim u          As tagVECTOR2
  1073.    Dim v          As tagVECTOR2
  1074.    Dim w          As tagVECTOR2
  1075.  
  1076.    u.x = 1
  1077.    u.y = 1
  1078.  
  1079.    v.x = 3
  1080.    v.y = 3
  1081.  
  1082.    Tmp1 = Tmp1 & "First vector (u) is (" & u.x & "," & u.y & ")" & Chr$(13) & Chr$(13)
  1083.    Tmp1 = Tmp1 & "Second vector (v) is (" & v.x & "," & v.y & ")" & Chr$(13) & Chr$(13)
  1084.  
  1085.    Call cV2Add(u, v, w)
  1086.    Tmp1 = Tmp1 & "Sum of (u)+(v) = (w) is (" & w.x & "," & w.y & ")" & Chr$(13) & Chr$(13)
  1087.    Call cV2Sub(u, v, w)
  1088.    Tmp1 = Tmp1 & "Sub of (u)-(v) = (w) is (" & w.x & "," & w.y & ")" & Chr$(13) & Chr$(13)
  1089.    Call cV2Mul(u, v, w)
  1090.    Tmp1 = Tmp1 & "Mul of (u).(v) = (w) is (" & w.x & "," & w.y & ")" & Chr$(13) & Chr$(13)
  1091.    k = cV2Dot(u, v)
  1092.    Tmp1 = Tmp1 & "Dot of (u),(v) is " & k & Chr$(13) & Chr$(13)
  1093.    k = cV2Length(v)
  1094.    Tmp1 = Tmp1 & "Length (v) is " & k & Chr$(13) & Chr$(13)
  1095.    k = cV2SegmentLength(u, v)
  1096.    Tmp1 = Tmp1 & "Segmented Length from (u) to (v) is " & k & Chr$(13) & Chr$(13)
  1097.    Call cV2Normalized(u)
  1098.    Tmp1 = Tmp1 & "Normalization of (u) is (" & u.x & "," & u.y & ")" & Chr$(13) & Chr$(13)
  1099.               
  1100.    cStartBasisTimer
  1101.    For i = 1 To ItemFile
  1102.       Call cV2Add(u, v, w)
  1103.    Next i
  1104.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1105.  
  1106.    Label3.Caption = Tmp1
  1107.  
  1108. End Sub
  1109.  
  1110. Private Sub Test3D()
  1111.  
  1112.    Dim Tmp1       As String
  1113.  
  1114.    Dim i          As Integer
  1115.    Dim j          As Integer
  1116.    Dim k          As Double
  1117.  
  1118.    Dim u          As tagVECTOR3
  1119.    Dim v          As tagVECTOR3
  1120.    Dim w          As tagVECTOR3
  1121.  
  1122.    u.x = 1
  1123.    u.y = 1
  1124.    u.z = 1
  1125.  
  1126.    v.x = 3
  1127.    v.y = 3
  1128.    v.z = 3
  1129.  
  1130.    Tmp1 = Tmp1 & "First vector (u) is (" & u.x & "," & u.y & "," & u.z & ")" & Chr$(13) & Chr$(13)
  1131.    Tmp1 = Tmp1 & "Second vector (v) is (" & v.x & "," & v.y & "," & v.z & ")" & Chr$(13) & Chr$(13)
  1132.  
  1133.    Call cV3Add(u, v, w)
  1134.    Tmp1 = Tmp1 & "Sum of (u)+(v) = (w) is (" & w.x & "," & w.y & "," & w.z & ")" & Chr$(13) & Chr$(13)
  1135.    Call cV3Sub(u, v, w)
  1136.    Tmp1 = Tmp1 & "Sub of (u)-(v) = (w) is (" & w.x & "," & w.y & "," & w.z & ")" & Chr$(13) & Chr$(13)
  1137.    Call cV3Mul(u, v, w)
  1138.    Tmp1 = Tmp1 & "Mul of (u).(v) = (w) is (" & w.x & "," & w.y & ")" & Chr$(13) & Chr$(13)
  1139.    k = cV3Dot(u, v)
  1140.    Tmp1 = Tmp1 & "Dot of (u),(v) is " & k & Chr$(13) & Chr$(13)
  1141.    k = cV3Length(v)
  1142.    Tmp1 = Tmp1 & "Length (v) is " & k & Chr$(13) & Chr$(13)
  1143.    k = cV3SegmentLength(u, v)
  1144.    Tmp1 = Tmp1 & "Segmented Length from (u) to (v) is " & k & Chr$(13) & Chr$(13)
  1145.    Call cV3Normalized(u)
  1146.    Tmp1 = Tmp1 & "Normalization of (u) is (" & u.x & "," & u.y & "," & u.z & ")" & Chr$(13) & Chr$(13)
  1147.               
  1148.    cStartBasisTimer
  1149.    For i = 1 To ItemFile
  1150.       Call cV3Add(u, v, w)
  1151.    Next i
  1152.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1153.  
  1154.    Label3.Caption = Tmp1
  1155.  
  1156. End Sub
  1157.  
  1158. Private Sub TestAddI()
  1159.  
  1160.    Dim Title      As String
  1161.    Dim Tmp        As String
  1162.    Dim Tmp1       As String
  1163.    Dim Tmp2       As String
  1164.    Dim i          As Integer
  1165.    Dim j          As Integer
  1166.    Dim m          As Double
  1167.    
  1168.    ReDim array(ItemMean) As Integer
  1169.    Randomize Timer
  1170.  
  1171.    For i = LBound(array) To UBound(array)
  1172.       array(i) = 0
  1173.       List1.AddItem "" & array(i)
  1174.    Next i
  1175.  
  1176.    j = cAddI(array(), 10)
  1177.  
  1178.    For i = LBound(array) To UBound(array)
  1179.       List2.AddItem "" & array(i)
  1180.    Next i
  1181.  
  1182.    Tmp1 = Tmp1 & "Add 10 to element 1 of an integer array is : " & array(1) & Chr$(13) & Chr$(13)
  1183.    Tmp1 = Tmp1 & "Add 10 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & Chr$(13) & Chr$(13)
  1184.  
  1185.    cStartBasisTimer
  1186.    For i = 1 To ItemFile
  1187.       j = cAddI(array(), 1)
  1188.    Next i
  1189.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1190.  
  1191.    Label3.Caption = Tmp1
  1192.  
  1193. End Sub
  1194.  
  1195. Private Sub TestAddTime()
  1196.  
  1197.    Dim Title      As String
  1198.    Dim Tmp        As String
  1199.    Dim Tmp1       As String
  1200.    Dim Tmp2       As String
  1201.    Dim i          As Integer
  1202.    Dim j          As Integer
  1203.    
  1204.    Tmp1 = "The time 10:00 + 02:01 is " & cIntoHour(cAddTime(600 + 121)) & Chr$(13) & Chr$(13)
  1205.  
  1206.    Tmp1 = Tmp1 & "The time 23:58 + 01:02 is " & cIntoHour(cAddTime(1438 + 62)) & Chr$(13) & Chr$(13)
  1207.  
  1208.    cStartBasisTimer
  1209.    For i = 1 To Item
  1210.       j = cAddTime(1439 + 2)
  1211.    Next i
  1212.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1213.  
  1214.    Label3.Caption = Tmp1
  1215.  
  1216. End Sub
  1217.  
  1218. Private Sub TestAddTwoTimes()
  1219.  
  1220.    Dim Title      As String
  1221.    Dim Tmp        As String
  1222.    Dim Tmp1       As String
  1223.    Dim Tmp2       As String
  1224.    Dim i          As Integer
  1225.    Dim j          As Integer
  1226.    
  1227.    Tmp1 = "The time '10:00:58' + '02:01:02' is '" & cAddTwoTimes("10:00:58", "02:01:02") & "'" & Chr$(13) & Chr$(13)
  1228.  
  1229.    Tmp1 = Tmp1 & "The time '23:58:58' + '01:02:01' is '" & cAddTwoTimes("23:58:58", "01:02:01") & "'" & Chr$(13) & Chr$(13)
  1230.  
  1231.    cStartBasisTimer
  1232.    For i = 1 To Item
  1233.       Tmp2 = cAddTwoTimes("23:58:58", "01:02:01")
  1234.    Next i
  1235.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1236.  
  1237.    Label3.Caption = Tmp1
  1238.  
  1239. End Sub
  1240.  
  1241. Private Sub TestAlign()
  1242.  
  1243.    Dim Title      As String
  1244.    Dim Tmp        As String
  1245.    Dim Tmp1       As String
  1246.    Dim Tmp2       As String
  1247.    Dim i          As Integer
  1248.    Dim j          As Integer
  1249.    
  1250.    Tmp = "T2WIN-16"
  1251.    Title = "Left Align of [" & Tmp & "] is " & Chr$(13) & "'"
  1252.  
  1253.    Tmp1 = Title & cAlign(Tmp, -1, 30) & "'" & Chr$(13) & Chr$(13)
  1254.    
  1255.    Title = "Center Align of [" & Tmp & "] is " & Chr$(13) & "'"
  1256.  
  1257.    Tmp1 = Tmp1 & Title & cAlign(Tmp, 0, 30) & "'" & Chr$(13) & Chr$(13)
  1258.    
  1259.    Title = "Right Align of [" & Tmp & "] is " & Chr$(13) & "'"
  1260.  
  1261.    Tmp1 = Tmp1 & Title & cAlign(Tmp, 1, 30) & "'" & Chr$(13) & Chr$(13)
  1262.    
  1263.    j = cTimerOpen()
  1264.    i = cTimerStart(j)
  1265.    For i = 1 To Item
  1266.       Tmp2 = cAlign(Tmp, 0, 30)
  1267.    Next i
  1268.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cTimerRead(j) & " ms"
  1269.    i = cTimerClose(j)
  1270.  
  1271.    Label3.Caption = Tmp1
  1272.  
  1273. End Sub
  1274.  
  1275. Private Sub TestAllSubDir()
  1276.    Dim N       As Integer
  1277.    Dim Tmp     As String
  1278.    N = -1
  1279.    Tmp = cAllSubDirectories("C:", N)
  1280.    Label3.Caption = "Directories founden on drive C are " & N & Chr$(13) & Tmp
  1281. End Sub
  1282.  
  1283. Private Sub TestAndToken()
  1284.  
  1285.    Dim Title      As String
  1286.    Dim Tmp        As String
  1287.    Dim Tmp1       As String
  1288.    Dim Tmp2       As String
  1289.    Dim i          As Integer
  1290.    Dim j          As Integer
  1291.  
  1292.    Tmp = "FOX|OVER|THE"
  1293.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1294.    Tmp1 = "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndToken(Tmp2, Tmp), "ok", "ko") & Chr$(13) & Chr$(13)
  1295.    
  1296.    Tmp = "quick|jumps|the"
  1297.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1298.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndToken(Tmp2, Tmp), "ok", "ko") & Chr$(13) & Chr$(13)
  1299.  
  1300.    Tmp = "FOX\OVER\THE"
  1301.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1302.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1303.    
  1304.    Tmp = "quick\jumps\the"
  1305.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1306.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1307.  
  1308.    Tmp = "FOX/OVER/THE"
  1309.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1310.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1311.    
  1312.    Tmp = "quick\JUMPS\the"
  1313.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1314.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1315.  
  1316.    Tmp = LCase$("quick\jumps\THE")
  1317.    Tmp2 = LCase$("THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG")
  1318.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1319.  
  1320.    cStartBasisTimer
  1321.    For i = 1 To Item
  1322.       j = cAndToken(Tmp2, Tmp)
  1323.    Next i
  1324.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1325.  
  1326.    Label3.Caption = Tmp1
  1327.  
  1328. End Sub
  1329.  
  1330. Private Sub TestArrayLB()
  1331.  
  1332.    Dim Title      As String
  1333.    Dim Tmp        As String
  1334.    Dim Tmp1       As String
  1335.    Dim Tmp2       As String
  1336.    Dim i          As Long
  1337.    Dim j          As Long
  1338.  
  1339.    Dim n1         As Long
  1340.    Dim n2         As Long
  1341.  
  1342.    Dim m1         As Integer
  1343.    Dim m2         As Integer
  1344.  
  1345.    m1 = -99
  1346.    m2 = 99
  1347.  
  1348.    ReDim AD(m1 To m2) As String
  1349.  
  1350.    Randomize Timer
  1351.  
  1352.    ' initialization because we use ReDim without Global definition
  1353.    For i = m1 To m2
  1354.       If ((Abs(i) Mod 2) = 0) Then
  1355.          AD(i) = i & " " & Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd))
  1356.       Else
  1357.          AD(i) = i & " " & Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd))
  1358.       End If
  1359.    Next i
  1360.  
  1361.    Tmp1 = "Memory array (" & m1 & " To " & m2 & ") has been created and initialized." & Chr$(13)
  1362.  
  1363.    j = cArrayToListBox(List1.hWnd, AD())
  1364.    j = cArrayToListBox(List2.hWnd, AD())
  1365.  
  1366.    List1.Clear
  1367.    
  1368.    cStartBasisTimer
  1369.    For i = 1 To Item
  1370.       j = cArrayToListBox(List1.hWnd, AD())
  1371.    Next i
  1372.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1373.  
  1374.    Label3.Caption = Tmp1
  1375.  
  1376. End Sub
  1377.  
  1378. Private Sub TestArrayOnDisk()
  1379.  
  1380.    Dim Title      As String
  1381.    Dim Tmp        As String
  1382.    Dim Tmp1       As String
  1383.    Dim Tmp2       As String
  1384.    Dim i          As Long
  1385.    Dim j          As Long
  1386.  
  1387.    Dim n1         As Long
  1388.    Dim n2         As Long
  1389.  
  1390.    Dim m1         As Integer
  1391.    Dim m2         As Integer
  1392.  
  1393.    m1 = -9999
  1394.    m2 = 9999
  1395.  
  1396.    ReDim AD(m1 To m2, 0 To 1) As Long
  1397.  
  1398.    Randomize Timer
  1399.  
  1400.    n1 = Int(1234567890 * Rnd)
  1401.    n2 = -Int(987654321 * Rnd)
  1402.  
  1403.    ' initialization because we use ReDim without Global definition
  1404.    For i = m1 To m2
  1405.       AD(i, 0) = n1
  1406.       AD(i, 1) = n2
  1407.    Next i
  1408.  
  1409.    Tmp = "test.dat"
  1410.  
  1411.    Tmp1 = "Memory array (" & m1 & " To " & m2 & ", 0 To 1) has been created and initialized." & Chr$(13)
  1412.    Tmp1 = Tmp1 + "File '" & Tmp & "' will be used." & Chr$(13)
  1413.    Tmp1 = Tmp1 + "Each (i,0) is init with '" & n1 & "'." & Chr$(13)
  1414.    Tmp1 = Tmp1 + "Each (i,1) is init with '" & n2 & "'." & Chr$(13) & Chr$(13)
  1415.  
  1416.    Tmp1 = Tmp1 + "AD(" & m1 & ", 0) is " & AD(m1, 0) & Chr$(13)
  1417.    Tmp1 = Tmp1 + "AD(" & m2 & ", 0) is " & AD(m2, 0) & Chr$(13)
  1418.    Tmp1 = Tmp1 + "AD(" & m1 & ", 1) is " & AD(m1, 1) & Chr$(13)
  1419.    Tmp1 = Tmp1 + "AD(" & m2 & ", 1) is " & AD(m2, 1) & Chr$(13) & Chr$(13)
  1420.  
  1421.    Tmp1 = Tmp1 + "Put array on disk is '" & cArrayOnDisk(Tmp, AD(), PUT_ARRAY_ON_DISK) & "' bytes." & Chr$(13) & Chr$(13)
  1422.  
  1423.    Tmp1 = Tmp1 + "Memory array (" & m1 & " To " & m2 & ", 0 To 1) has been zero'ed." & Chr$(13) & Chr$(13)
  1424.  
  1425.    For i = m1 To m2
  1426.       AD(i, 0) = 0
  1427.       AD(i, 1) = 0
  1428.    Next i
  1429.  
  1430.    Tmp1 = Tmp1 + "AD(" & m1 & ", 0) is " & AD(m1, 0) & Chr$(13)
  1431.    Tmp1 = Tmp1 + "AD(" & m2 & ", 0) is " & AD(m2, 0) & Chr$(13)
  1432.    Tmp1 = Tmp1 + "AD(" & m1 & ", 1) is " & AD(m1, 1) & Chr$(13)
  1433.    Tmp1 = Tmp1 + "AD(" & m2 & ", 1) is " & AD(m2, 1) & Chr$(13) & Chr$(13)
  1434.  
  1435.    Tmp1 = Tmp1 + "Get array on disk is '" & cArrayOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK) & "' bytes." & Chr$(13) & Chr$(13)
  1436.  
  1437.    Tmp1 = Tmp1 + "AD(" & m1 & ", 0) is " & AD(m1, 0) & Chr$(13)
  1438.    Tmp1 = Tmp1 + "AD(" & m2 & ", 0) is " & AD(m2, 0) & Chr$(13)
  1439.    Tmp1 = Tmp1 + "AD(" & m1 & ", 1) is " & AD(m1, 1) & Chr$(13)
  1440.    Tmp1 = Tmp1 + "AD(" & m2 & ", 1) is " & AD(m2, 1) & Chr$(13) & Chr$(13)
  1441.  
  1442.    cStartBasisTimer
  1443.    For i = 1 To Item
  1444.       j = cArrayOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK)
  1445.    Next i
  1446.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1447.  
  1448.    Label3.Caption = Tmp1
  1449.  
  1450. End Sub
  1451.  
  1452. Private Sub TestArrayStringOnDisk()
  1453.  
  1454.    Dim Title      As String
  1455.    Dim Tmp        As String
  1456.    Dim Tmp1       As String
  1457.    Dim Tmp2       As String
  1458.    Dim i          As Long
  1459.    Dim j          As Long
  1460.  
  1461.    Dim n1         As Long
  1462.    Dim n2         As Long
  1463.  
  1464.    Dim r          As Long
  1465.  
  1466.    Dim m1         As Integer
  1467.    Dim m2         As Integer
  1468.  
  1469.    m1 = -999
  1470.    m2 = 4000
  1471.  
  1472.    ReDim AD(m1 To m2) As String
  1473.    
  1474.    ' initialization because we use ReDim without Global definition
  1475.    'For i = m1 To m2
  1476.    '   AD(i) = Space$(256)
  1477.    'Next i
  1478.  
  1479.    Randomize Timer
  1480.  
  1481.    Tmp = "c:\autoexec.bat"
  1482.    Tmp2 = "c:\autoexec.tab"
  1483.  
  1484.    Tmp1 = "Reading file '" & Tmp & "' into AD(" & m1 & " To " & m2 & ") is '" & cArrayStringOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK, r) & "'" & Chr$(13)
  1485.    Tmp1 = Tmp1 & "   The 7 (on " & r & ") first lines in array are : " & Chr$(13) & Chr$(13)
  1486.    
  1487.    For i = 0 To 6
  1488.       Tmp1 = Tmp1 & AD(m1 + i) & Chr$(13)
  1489.    Next i
  1490.  
  1491.    Tmp1 = Tmp1 & Chr$(13) & "Writing file '" & Tmp2 & "' from AD(" & m1 & " To " & m2 & ") is '" & cArrayStringOnDisk(Tmp2, AD(), PUT_ARRAY_ON_DISK, r) & "'" & Chr$(13) & Chr$(13)
  1492.  
  1493.    Tmp1 = Tmp1 & "Reading file '" & Tmp2 & "' into AD(" & m1 & " To " & m2 & ") is '" & cArrayStringOnDisk(Tmp2, AD(), GET_ARRAY_ON_DISK, r) & "'" & Chr$(13)
  1494.    Tmp1 = Tmp1 & "   The 7 (on " & r & ") first lines in array are : " & Chr$(13) & Chr$(13)
  1495.  
  1496.    For i = 0 To 6
  1497.       Tmp1 = Tmp1 & AD(m1 + i) & Chr$(13)
  1498.    Next i
  1499.  
  1500.    cStartBasisTimer
  1501.    For i = 1 To Item
  1502.       j = cArrayStringOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK, r)
  1503.    Next i
  1504.    Tmp1 = Tmp1 & Chr$(13) & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1505.  
  1506.    Label3.Caption = Tmp1
  1507.  
  1508. End Sub
  1509.  
  1510. Private Sub TestAscTime()
  1511.  
  1512.    Dim Title      As String
  1513.    Dim Tmp        As String
  1514.    Dim Tmp1       As String
  1515.    Dim Tmp2       As String
  1516.    Dim i          As Integer
  1517.    Dim j          As Integer
  1518.    Dim k          As Long
  1519.    Dim ErrCode    As Integer
  1520.  
  1521.    Tmp1 = ""
  1522.  
  1523.    For i = LNG_FRENCH To LNG_POLISH
  1524.       Tmp1 = Tmp1 + cGetAscTime(i) & Chr$(13)
  1525.    Next i
  1526.  
  1527.    Tmp1 = Tmp1 + Chr$(13)
  1528.  
  1529.    cStartBasisTimer
  1530.    For i = 1 To Item
  1531.       Tmp = cGetAscTime(LNG_FRENCH)
  1532.    Next i
  1533.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1534.  
  1535.    Label3.Caption = Tmp1
  1536.  
  1537. End Sub
  1538.  
  1539. Private Sub TestAtoR()
  1540.    Dim Tmp        As Integer
  1541.    Dim Tmp1       As String
  1542.    Tmp = Year(Int(Now))
  1543.    Tmp1 = Tmp & " in Roman is " & UCase$(cArabicToRoman(Tmp)) & Chr$(13)
  1544.    Tmp = Year(Int(Now)) - 1
  1545.    Tmp1 = Tmp1 & Tmp & " in Roman is " & UCase$(cArabicToRoman(Tmp)) & Chr$(13)
  1546.    Tmp = Year(Int(Now)) + 1
  1547.    Tmp1 = Tmp1 & Tmp & " in Roman is " & UCase$(cArabicToRoman(Tmp)) & Chr$(13)
  1548.    Label3.Caption = Tmp1
  1549. End Sub
  1550.  
  1551. Private Sub TestBaseConversion()
  1552.  
  1553.    Dim Title      As String
  1554.    Dim Tmp        As String
  1555.    Dim Tmp1       As String
  1556.    Dim Tmp2       As String
  1557.    Dim i          As Integer
  1558.    Dim j          As Integer
  1559.    Dim k          As Long
  1560.    Dim ErrCode    As Integer
  1561.  
  1562.    Tmp1 = ""
  1563.  
  1564.    For i = 2 To 20
  1565.       Tmp1 = Tmp1 + "Convert '1234567' base 10 to base " & i & " is " & cBaseConversion("1234567", 10, i) & Chr$(13)
  1566.    Next i
  1567.  
  1568.    Tmp1 = Tmp1 + Chr$(13)
  1569.  
  1570.    cStartBasisTimer
  1571.    For i = 1 To Item
  1572.       Tmp = cBaseConversion("123456789", 10, 10)
  1573.    Next i
  1574.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1575.  
  1576.    Label3.Caption = Tmp1
  1577.  
  1578. End Sub
  1579.  
  1580. Private Sub TestBetween()
  1581.  
  1582.    Dim Title      As String
  1583.    Dim Tmp        As String
  1584.    Dim Tmp1       As String
  1585.    Dim Tmp2       As String
  1586.    Dim i          As Integer
  1587.    Dim j          As Integer
  1588.    
  1589.  
  1590.    Tmp1 = "601 is not between 720 and 840 => " & cBetween(601, 720, 840) & Chr$(13) & Chr$(13)
  1591.  
  1592.    Tmp1 = Tmp1 & "601 is between 540 and 602 => " & cBetween(601, 540, 602) & Chr$(13) & Chr$(13)
  1593.  
  1594.    Tmp1 = Tmp1 & "61 is between 61 and 62 => " & cBetween(61, 61, 62) & Chr$(13) & Chr$(13)
  1595.  
  1596.    cStartBasisTimer
  1597.    For i = 1 To Item
  1598.       j = cBetween(720, 0, 1439)
  1599.    Next i
  1600.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1601.  
  1602.    Label3.Caption = Tmp1
  1603.  
  1604. End Sub
  1605.  
  1606. Private Sub TestBig()
  1607.  
  1608.    Dim Title      As String
  1609.    Dim Tmp        As String
  1610.    Dim Tmp1       As String
  1611.    Dim Tmp2       As String
  1612.    Dim Tmp3       As String
  1613.    Dim i          As Integer
  1614.    Dim j          As Integer
  1615.    Dim m1         As Double
  1616.    Dim m2         As Double
  1617.  
  1618.    m1 = 123456789012345#
  1619.    m2 = 987654321098765#
  1620.    
  1621.    Tmp1 = Tmp1 & "Double     : Add '" & m1 & "' and '" & m2 & "' is '" & (m1 + m2) & "'" & Chr$(13)
  1622.    Tmp1 = Tmp1 & "Big Double : Add '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigAdd(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & Chr$(13)
  1623.    Tmp1 = Tmp1 & "Big Num    : Add '" & m1 & "' and '" & m2 & "' is '" & cBigNum(LTrim$(Str$(m1)), BIG_ADD, LTrim$(Str$(m2))) & "'" & Chr$(13) & Chr$(13)
  1624.    
  1625.    Tmp1 = Tmp1 & "Double     : Sub '" & m1 & "' and '" & m2 & "' is '" & (m1 - m2) & "'" & Chr$(13)
  1626.    Tmp1 = Tmp1 & "Big Double : Sub '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigSub(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & Chr$(13)
  1627.    Tmp1 = Tmp1 & "Big Num    : Sub '" & m1 & "' and '" & m2 & "' is '" & cBigNum(LTrim$(Str$(m1)), BIG_SUB, LTrim$(Str$(m2))) & "'" & Chr$(13) & Chr$(13)
  1628.  
  1629.    Tmp1 = Tmp1 & "Double     : Mul '" & m1 & "' and '" & m2 & "' is '" & (m1 * m2) & "'" & Chr$(13)
  1630.    Tmp1 = Tmp1 & "Big Double : Mul '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigMul(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & Chr$(13)
  1631.    Tmp1 = Tmp1 & "Big Num    : Mul '" & m1 & "' and '" & m2 & "' is '" & cBigNum(LTrim$(Str$(m1)), BIG_MUL, LTrim$(Str$(m2))) & "'" & Chr$(13) & Chr$(13)
  1632.  
  1633.    Tmp1 = Tmp1 & "Double     : Div '" & m1 & "' and '" & m2 & "' is '" & (m1 / m2) & "'" & Chr$(13)
  1634.    Tmp1 = Tmp1 & "Big Double : Div '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigDiv(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & Chr$(13) & Chr$(13)
  1635.  
  1636.    cStartBasisTimer
  1637.    For i = 1 To ItemFile
  1638.       Tmp3 = cBigAdd(cMKN(Str$(m1)), cMKN(Str$(m2)))
  1639.    Next i
  1640.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1641.  
  1642.    Label3.Caption = Tmp1
  1643.  
  1644. End Sub
  1645.  
  1646. Private Sub TestBigNum()
  1647.  
  1648.    Dim Title      As String
  1649.    Dim Tmp        As String
  1650.    Dim Tmp1       As String
  1651.    Dim Tmp2       As String
  1652.    Dim Tmp3       As String
  1653.    Dim Tmp4       As String
  1654.    Dim i          As Integer
  1655.    Dim j          As Integer
  1656.    Dim m          As Double
  1657.  
  1658.    Tmp3 = "00001234567890123456789012345678901"
  1659.    Tmp4 = "00009876543210987654321098765432100"
  1660.  
  1661.    Tmp1 = Tmp1 & "X = " & Tmp3 & Chr$(13)
  1662.    Tmp1 = Tmp1 & "Y = " & Tmp4 & Chr$(13) & Chr$(13)
  1663.  
  1664.    Tmp = Tmp3
  1665.    Tmp2 = Tmp4
  1666.    Tmp1 = Tmp1 & "'(X) + (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & Chr$(13)
  1667.    Tmp = Tmp3
  1668.    Tmp2 = "-" & Tmp4
  1669.    Tmp1 = Tmp1 & "'(X) + (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & Chr$(13)
  1670.    Tmp = "-" & Tmp3
  1671.    Tmp2 = Tmp4
  1672.    Tmp1 = Tmp1 & "'(-X) + (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & Chr$(13)
  1673.    Tmp = "-" & Tmp3
  1674.    Tmp2 = "-" & Tmp4
  1675.    Tmp1 = Tmp1 & "'(-X) + (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & Chr$(13) & Chr$(13)
  1676.  
  1677.    Tmp = Tmp3
  1678.    Tmp2 = Tmp4
  1679.    Tmp1 = Tmp1 & "'(X) - (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & Chr$(13)
  1680.    Tmp = Tmp3
  1681.    Tmp2 = "-" & Tmp4
  1682.    Tmp1 = Tmp1 & "'(X) - (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & Chr$(13)
  1683.    Tmp = "-" & Tmp3
  1684.    Tmp2 = Tmp4
  1685.    Tmp1 = Tmp1 & "'(-X) - (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & Chr$(13)
  1686.    Tmp = "-" & Tmp3
  1687.    Tmp2 = "-" & Tmp4
  1688.    Tmp1 = Tmp1 & "'(-X) - (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & Chr$(13) & Chr$(13)
  1689.    
  1690.    Tmp = Tmp3
  1691.    Tmp2 = Tmp4
  1692.    Tmp1 = Tmp1 & "'(X) * (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & Chr$(13)
  1693.    Tmp = Tmp3
  1694.    Tmp2 = "-" & Tmp4
  1695.    Tmp1 = Tmp1 & "'(X) * (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & Chr$(13)
  1696.    Tmp = "-" & Tmp3
  1697.    Tmp2 = Tmp4
  1698.    Tmp1 = Tmp1 & "'(-X) * (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & Chr$(13)
  1699.    Tmp = "-" & Tmp3
  1700.    Tmp2 = "-" & Tmp4
  1701.    Tmp1 = Tmp1 & "'(-X) * (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & Chr$(13) & Chr$(13)
  1702.  
  1703.    cStartBasisTimer
  1704.    For i = 1 To ItemFile
  1705.       Tmp3 = cBigNum(Tmp, BIG_ADD, Tmp2)
  1706.    Next i
  1707.    Tmp1 = Tmp1 & "speed for " & ItemFile & " ADD = " & (cReadBasisTimer() / 1000) & Chr$(13)
  1708.  
  1709.    cStartBasisTimer
  1710.    For i = 1 To ItemFile
  1711.       Tmp3 = cBigNum(Tmp, BIG_SUB, Tmp2)
  1712.    Next i
  1713.    Tmp1 = Tmp1 & "speed for " & ItemFile & " SUB = " & (cReadBasisTimer() / 1000) & Chr$(13)
  1714.  
  1715.    cStartBasisTimer
  1716.    For i = 1 To ItemFile
  1717.       Tmp3 = cBigNum(Tmp, BIG_MUL, Tmp2)
  1718.    Next i
  1719.    Tmp1 = Tmp1 & "speed for " & ItemFile & " MUL = " & (cReadBasisTimer() / 1000)
  1720.  
  1721.    Label3.Caption = Tmp1
  1722.  
  1723. End Sub
  1724.  
  1725. Private Sub TestBigString01()
  1726.    
  1727.    Dim Tmp1       As String
  1728.    Dim m1         As Integer
  1729.    Dim p1         As Integer
  1730.  
  1731.    Tmp1 = "Create a big string of 512 Kb is "
  1732.    m1 = cHugeStrCreate(512 * 1024&)
  1733.    Tmp1 = Tmp1 & IIf(m1 <> 0, "OK", "ko") & " (" & m1 & ")" & Chr$(13)
  1734.  
  1735.    Tmp1 = Tmp1 & "Size (" & m1 & ") is " & cHugeStrSize(m1) & Chr$(13)
  1736.  
  1737.    Tmp1 = Tmp1 & "Memory Address (" & m1 & ") is " & cHugeStrAddress(m1) & Chr$(13)
  1738.  
  1739.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1740.  
  1741.    Tmp1 = Tmp1 & "Add '1234567890' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "1234567890"), "OK", "ko") & Chr$(13)
  1742.  
  1743.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1744.  
  1745.    Tmp1 = Tmp1 & "Pointer (" & m1 & ") is " & cHugeStrGetWP(m1) & Chr$(13)
  1746.  
  1747.    Tmp1 = Tmp1 & "Add 'This is a test' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "This is a test"), "OK", "ko") & Chr$(13)
  1748.  
  1749.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1750.  
  1751.    Tmp1 = Tmp1 & "Pointer (" & m1 & ") is " & cHugeStrGetWP(m1) & Chr$(13)
  1752.  
  1753.    Tmp1 = Tmp1 & "Blocks (" & m1 & ") is " & cHugeStrBlocks(m1) & Chr$(13)
  1754.  
  1755.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & Chr$(13)
  1756.  
  1757.    Tmp1 = Tmp1 & "Set pointer (" & m1 & ") to 7 is " & cHugeStrSetWP(m1, 7) & Chr$(13)
  1758.  
  1759.    Tmp1 = Tmp1 & "Add 'THIS IS A TEST' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "THIS IS A TEST"), "OK", "ko") & Chr$(13)
  1760.  
  1761.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1762.  
  1763.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & Chr$(13)
  1764.  
  1765.    Tmp1 = Tmp1 & "Append 'append one' (" & m1 & ") is " & IIf(cHugeStrAppend(m1, "append one"), "OK", "ko") & Chr$(13)
  1766.  
  1767.    Tmp1 = Tmp1 & "Append 'append two' (" & m1 & ") is " & IIf(cHugeStrAppend(m1, "append two"), "OK", "ko") & Chr$(13)
  1768.  
  1769.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1770.  
  1771.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & Chr$(13)
  1772.  
  1773.    Tmp1 = Tmp1 & "Set pointer (" & m1 & ") to " & cHugeStrLength(m1) & " is " & cHugeStrSetWP(m1, cHugeStrLength(m1)) & Chr$(13)
  1774.  
  1775.    Tmp1 = Tmp1 & "Add 'AZERTYUIOP' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "AZERTYUIOP"), "OK", "ko") & Chr$(13)
  1776.  
  1777.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1778.  
  1779.    Tmp1 = Tmp1 & "Mid (" & m1 & ") is '" & cHugeStrMid(m1, 3, 10) & "'" & Chr$(13)
  1780.  
  1781.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & Chr$(13)
  1782.  
  1783.    Tmp1 = Tmp1 & "Clear (" & m1 & ") is " & IIf(cHugeStrClear(m1), "OK", "ko") & Chr$(13)
  1784.  
  1785.    Tmp1 = Tmp1 & "Free a big string of 512 Kb is "
  1786.    p1 = cHugeStrFree(m1)
  1787.    Tmp1 = Tmp1 & IIf(p1 <> 0, "OK", "ko") & " (" & p1 & ")" & Chr$(13)
  1788.  
  1789.    Label3.Caption = Tmp1
  1790.  
  1791. End Sub
  1792.  
  1793. Private Sub TestBlockCharFromLeft()
  1794.  
  1795.    Dim Title      As String
  1796.    Dim Tmp        As String
  1797.    Dim Tmp1       As String
  1798.    Dim Tmp2       As String
  1799.    Dim i          As Integer
  1800.    Dim j          As Integer
  1801.    
  1802.  
  1803.    Tmp = Text1.Text
  1804.    Title = "The 3,7,1 blocks from left of [" & Tmp & "] are " & Chr$(13) & Chr$(13)
  1805.  
  1806.    Tmp = Text1.Text
  1807.  
  1808.    Tmp1 = Title & "3:" & cBlockCharFromLeft(Tmp, 3) & " | 7:" & cBlockCharFromLeft(Tmp, 7) & " | 1:" & cBlockCharFromLeft(Tmp, 1) & Chr$(13) & Chr$(13)
  1809.  
  1810.    cStartBasisTimer
  1811.    For i = 1 To Item
  1812.       Tmp2 = cBlockCharFromLeft(Tmp, 2)
  1813.    Next i
  1814.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1815.  
  1816.    Label3.Caption = Tmp1
  1817.    
  1818. End Sub
  1819.  
  1820. Private Sub TestBlockCharFromRight()
  1821.  
  1822.    Dim Title      As String
  1823.    Dim Tmp        As String
  1824.    Dim Tmp1       As String
  1825.    Dim Tmp2       As String
  1826.    Dim i          As Integer
  1827.    Dim j          As Integer
  1828.    
  1829.  
  1830.    Tmp = Text1.Text
  1831.    Title = "The 3,7,1 blocks from right of [" & Tmp & "] are " & Chr$(13) & Chr$(13)
  1832.  
  1833.    Tmp = Text1.Text
  1834.  
  1835.    Tmp1 = Title & "3:" & cBlockCharFromRight(Tmp, 3) & " | 7:" & cBlockCharFromRight(Tmp, 7) & " | 1:" & cBlockCharFromRight(Tmp, 1) & Chr$(13) & Chr$(13)
  1836.  
  1837.    cStartBasisTimer
  1838.    For i = 1 To Item
  1839.       Tmp2 = cBlockCharFromRight(Tmp, 2)
  1840.    Next i
  1841.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1842.  
  1843.    Label3.Caption = Tmp1
  1844.  
  1845. End Sub
  1846.  
  1847. Private Sub TestChangeChars()
  1848.  
  1849.    Dim Title      As String
  1850.    Dim Tmp        As String
  1851.    Dim Tmp1       As String
  1852.    Dim Tmp2       As String
  1853.    Dim i          As Integer
  1854.    Dim j          As Integer
  1855.    
  1856.  
  1857.    Tmp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  1858.    Title = "Change 'AZM' into 'qyc' of [" & Tmp & "] is "
  1859.  
  1860.    Call cChangeChars(Tmp, "AZM", "qyc")
  1861.    Tmp1 = Title & Tmp & Chr$(13) & Chr$(13)
  1862.  
  1863.    cStartBasisTimer
  1864.    For i = 1 To Item
  1865.       Call cChangeChars(Tmp, "AZM", "qyc")
  1866.    Next i
  1867.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1868.  
  1869.    Label3.Caption = Tmp1
  1870.  
  1871. End Sub
  1872.  
  1873. Private Sub TestChangeCharsUntil()
  1874.  
  1875.    Dim Title      As String
  1876.    Dim Tmp        As String
  1877.    Dim Tmp1       As String
  1878.    Dim Tmp2       As String
  1879.    Dim i          As Integer
  1880.    Dim j          As Integer
  1881.    
  1882.  
  1883.    Tmp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  1884.    Title = "Change 'AZM' into 'qyc' of [" & Tmp & "] until 'N' is "
  1885.  
  1886.    Call cChangeCharsUntil(Tmp, "AZM", "qyc", "N")
  1887.    Tmp1 = Title & Tmp & Chr$(13) & Chr$(13)
  1888.  
  1889.    cStartBasisTimer
  1890.    For i = 1 To Item
  1891.       Call cChangeCharsUntil(Tmp, "AZM", "qyc", "N")
  1892.    Next i
  1893.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1894.  
  1895.    Label3.Caption = Tmp1
  1896.  
  1897. End Sub
  1898.  
  1899. Private Sub TestChDir()
  1900.  
  1901.    Dim Title      As String
  1902.    Dim Tmp        As String
  1903.    Dim Tmp1       As String
  1904.    Dim Tmp2       As String
  1905.    Dim i          As Integer
  1906.    Dim j          As Integer
  1907.    Dim k          As Long
  1908.    Dim ErrCode    As Integer
  1909.  
  1910.    Tmp1 = ""
  1911.    
  1912.    For i = 1 To 26
  1913.       k = cChDir(Chr$(64 + i) & ":\")
  1914.       If (k = True) Then
  1915.          Tmp1 = Tmp1 & "ChDir to \ on '" & Chr$(64 + i) & ":' is " & IIf(k = True, "succesfull", "not successfull") & Chr$(13)
  1916.       End If
  1917.    Next i
  1918.  
  1919.    Tmp1 = Tmp1 + Chr$(13)
  1920.  
  1921.    cStartBasisTimer
  1922.    For i = 1 To Item
  1923.       k = cChDir("C:\")
  1924.    Next i
  1925.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1926.  
  1927.    Label3.Caption = Tmp1
  1928.  
  1929. End Sub
  1930.  
  1931. Private Sub TestChDrive()
  1932.  
  1933.    Dim Title      As String
  1934.    Dim Tmp        As String
  1935.    Dim Tmp1       As String
  1936.    Dim Tmp2       As String
  1937.    Dim i          As Integer
  1938.    Dim j          As Integer
  1939.    Dim k          As Long
  1940.    Dim ErrCode    As Integer
  1941.  
  1942.    Tmp1 = ""
  1943.    
  1944.    For i = 1 To 26
  1945.       k = cChDrive(Chr$(64 + i))
  1946.       If (k = True) Then
  1947.          Tmp1 = Tmp1 & "ChDrive on '" & Chr$(64 + i) & ":' is " & IIf(k = True, "succesfull", "not successfull") & Chr$(13)
  1948.       End If
  1949.    Next i
  1950.  
  1951.    Tmp1 = Tmp1 + Chr$(13)
  1952.  
  1953.    cStartBasisTimer
  1954.    For i = 1 To Item
  1955.       k = cChDrive("C")
  1956.    Next i
  1957.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1958.  
  1959.    Label3.Caption = Tmp1
  1960.  
  1961. End Sub
  1962.  
  1963. Private Sub TestCheckChars()
  1964.  
  1965.    Dim Title      As String
  1966.    Dim Tmp        As String
  1967.    Dim Tmp1       As String
  1968.    Dim Tmp2       As String
  1969.    Dim i          As Integer
  1970.    Dim j          As Integer
  1971.    
  1972.  
  1973.    Tmp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  1974.    Title = "Check 'A','Z' in [" & Tmp & "] is "
  1975.    Tmp1 = Title & IIf(cCheckChars(Tmp, "AZ"), "all present", "not all present") & Chr$(13) & Chr$(13)
  1976.  
  1977.    Title = Tmp1 & "Check 'a','Z' in [" & Tmp & "] is "
  1978.    Tmp1 = Title & IIf(cCheckChars(Tmp, "aZ"), "all present", "not all present") & Chr$(13) & Chr$(13)
  1979.  
  1980.    cStartBasisTimer
  1981.    For i = 1 To Item
  1982.       j = cCheckChars(Tmp, "AZ")
  1983.    Next i
  1984.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1985.  
  1986.    Label3.Caption = Tmp1
  1987.  
  1988. End Sub
  1989.  
  1990. Private Sub TestCheckNumericity()
  1991.  
  1992.    Dim Title      As String
  1993.    Dim Tmp        As String
  1994.    Dim Tmp1       As String
  1995.    Dim Tmp2       As String
  1996.    Dim i          As Integer
  1997.    Dim j          As Integer
  1998.    
  1999.  
  2000.    Tmp = Text1.Text
  2001.    Title = "[" & Tmp & "] is "
  2002.  
  2003.    Tmp1 = Title & IIf(cCheckNumericity(Tmp), "Numeric", " not Numeric") & Chr$(13) & Chr$(13)
  2004.  
  2005.    cStartBasisTimer
  2006.    For i = 1 To Item
  2007.       j = cCheckNumericity(Tmp)
  2008.    Next i
  2009.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2010.  
  2011.    Label3.Caption = Tmp1
  2012.  
  2013. End Sub
  2014.  
  2015. Private Sub TestCheckTime()
  2016.  
  2017.    Dim Title      As String
  2018.    Dim Tmp        As String
  2019.    Dim Tmp1       As String
  2020.    Dim Tmp2       As String
  2021.    Dim i          As Integer
  2022.    Dim j          As Integer
  2023.    
  2024.  
  2025.    Tmp1 = "10:01 is not between 12:00 and 14:00 => " & cCheckTime(601, 720, 840) & Chr$(13) & Chr$(13)
  2026.  
  2027.    Tmp1 = Tmp1 & "10:01 is between 09:00 and 10:02 => " & cCheckTime(601, 540, 602) & Chr$(13) & Chr$(13)
  2028.  
  2029.    Tmp1 = Tmp1 & "01:01 is between 23:58 and 02:45 => " & cCheckTime(61, 1438, 165) & Chr$(13) & Chr$(13)
  2030.  
  2031.    cStartBasisTimer
  2032.    For i = 1 To Item
  2033.       j = cCheckTime(720, 0, 1439)
  2034.    Next i
  2035.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2036.  
  2037.    Label3.Caption = Tmp1
  2038.  
  2039. End Sub
  2040.  
  2041. Private Sub TestCloseAllEditForm()
  2042.    If (cCloseAllEditForm() = True) Then
  2043.       Label3.Caption = "CloseAllEditForm SUCCESS"
  2044.    Else
  2045.       Label3.Caption = "CloseAllEditForm FAIL"
  2046.    End If
  2047. End Sub
  2048.  
  2049. Private Sub TestClusterSize()
  2050.  
  2051.    Dim Title      As String
  2052.    Dim Tmp        As String
  2053.    Dim Tmp1       As String
  2054.    Dim Tmp2       As String
  2055.    Dim i          As Integer
  2056.    Dim j          As Integer
  2057.    Dim k          As Long
  2058.    Dim ErrCode    As Integer
  2059.  
  2060.    Tmp1 = ""
  2061.    
  2062.    For i = 1 To 26
  2063.       k = cGetDiskClusterSize(Chr$(64 + i))
  2064.       If (k <> True) Then
  2065.          Tmp1 = Tmp1 & "DiskClusterSize for '" & Chr$(64 + i) & ":' is " & k & Chr$(13)
  2066.       End If
  2067.    Next i
  2068.  
  2069.    Tmp1 = Tmp1 + Chr$(13)
  2070.  
  2071.    cStartBasisTimer
  2072.    For i = 1 To Item
  2073.       k = cGetDiskClusterSize("C")
  2074.    Next i
  2075.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2076.  
  2077.    Label3.Caption = Tmp1
  2078.  
  2079. End Sub
  2080.  
  2081. Private Sub TestCnvAE()
  2082.  
  2083.    Dim Title      As String
  2084.    Dim Tmp        As String
  2085.    Dim Tmp1       As String
  2086.    Dim Tmp2       As String
  2087.    Dim i          As Integer
  2088.    Dim j          As Integer
  2089.    
  2090.  
  2091.    Tmp = Text1.Text
  2092.    Title = "ASCII -> EBCDIC of '" & Tmp & "' is "
  2093.    Call cCnvASCIItoEBCDIC(Tmp)
  2094.    Tmp1 = Title & Tmp & Chr$(13) & Chr$(13)
  2095.  
  2096.    Title = "EBCDIC -> ASCII of '" & Tmp & "' is "
  2097.    Call cCnvEBCDICtoASCII(Tmp)
  2098.    Tmp1 = Tmp1 & Title & Tmp & Chr$(13) & Chr$(13)
  2099.  
  2100.    cStartBasisTimer
  2101.    For i = 1 To Item
  2102.       Call cCnvASCIItoEBCDIC(Tmp)
  2103.    Next i
  2104.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2105.  
  2106.    Label3.Caption = Tmp1
  2107.  
  2108. End Sub
  2109.  
  2110. Private Sub TestCombination()
  2111.  
  2112.    Dim Title      As String
  2113.    Dim Tmp        As String
  2114.    Dim Tmp1       As String
  2115.    Dim Tmp2       As String
  2116.    Dim Tmp3       As String
  2117.    Dim i          As Integer
  2118.    Dim j          As Integer
  2119.    Dim m1         As Double
  2120.    Dim m2         As Double
  2121.  
  2122.    For i = 0 To 10
  2123.       Tmp1 = Tmp1 & "Combination C(42, " & i & ") is '" & cCombination(42, i) & "'" & Chr$(13)
  2124.    Next i
  2125.  
  2126.    Tmp1 = Tmp1 & Chr$(13)
  2127.  
  2128.    For i = 42 To 32 Step -1
  2129.       Tmp1 = Tmp1 & "Combination C(42, " & i & ") is '" & cCombination(42, i) & "'" & Chr$(13)
  2130.    Next i
  2131.  
  2132.    Tmp1 = Tmp1 & Chr$(13)
  2133.  
  2134.    cStartBasisTimer
  2135.    For i = 1 To ItemFile
  2136.       m1 = cCombination(42, 6)
  2137.    Next i
  2138.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2139.  
  2140.    Label3.Caption = Tmp1
  2141.  
  2142. End Sub
  2143.  
  2144. Private Sub TestCompact()
  2145.  
  2146.    Dim Title      As String
  2147.    Dim Tmp        As String
  2148.    Dim Tmp1       As String
  2149.    Dim Tmp2       As String
  2150.    Dim i          As Integer
  2151.    Dim j          As Integer
  2152.  
  2153.    Tmp = "30313233343536373839"
  2154.  
  2155.    Title = "Compact '" & Tmp & "' is "
  2156.    Tmp1 = Title & cCompact(Tmp) & Chr$(13) & Chr$(13)
  2157.  
  2158.    cStartBasisTimer
  2159.    For i = 1 To Item
  2160.       Tmp2 = cCompact(Tmp)
  2161.    Next i
  2162.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2163.  
  2164.    Label3.Caption = Tmp1
  2165.  
  2166. End Sub
  2167.  
  2168. Private Sub TestCompress()
  2169.  
  2170.    Dim Title      As String
  2171.    Dim Tmp        As String
  2172.    Dim Tmp1       As String
  2173.    Dim Tmp2       As String
  2174.    Dim i          As Integer
  2175.    Dim j          As Integer
  2176.    
  2177.  
  2178.    Tmp1 = "A " & Chr$(9) & "BC  "
  2179.  
  2180.    Tmp = Tmp1
  2181.    Title = "Filter chr(0),chr(9),chr(32) in [" & Tmp & "] is "
  2182.    Tmp1 = Title & cCompress(Tmp) & Chr$(13) & Chr$(13)
  2183.  
  2184.    cStartBasisTimer
  2185.    For i = 1 To Item
  2186.       Tmp2 = cCompress(Tmp)
  2187.    Next i
  2188.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2189.  
  2190.    Label3.Caption = Tmp1
  2191.  
  2192. End Sub
  2193.  
  2194. Private Sub TestCompressTab()
  2195.  
  2196.    Dim Title      As String
  2197.    Dim Tmp        As String
  2198.    Dim Tmp1       As String
  2199.    Dim Tmp2       As String
  2200.    Dim i          As Integer
  2201.    Dim j          As Integer
  2202.    
  2203.  
  2204.    Tmp = "A      BC   DEF  GHIJ  "
  2205.    Title = "Compress tab (3 chars) into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  2206.    Tmp1 = Title & cCompressTab(Tmp, 3) & Chr$(13) & Chr$(13)
  2207.  
  2208.    Tmp = "A      BC   DEF  GHIJ  "
  2209.    Title = "Compress tab (2 chars) into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  2210.    Tmp1 = Tmp1 & Title & cCompressTab(Tmp, 2) & Chr$(13) & Chr$(13)
  2211.  
  2212.    cStartBasisTimer
  2213.    For i = 1 To Item
  2214.       Tmp2 = cCompressTab(Tmp, 3)
  2215.    Next i
  2216.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2217.  
  2218.    Label3.Caption = Tmp1
  2219.  
  2220. End Sub
  2221.  
  2222. Private Sub TestControl3D()
  2223.  
  2224.    Dim i    As Integer
  2225.    Dim j    As Integer
  2226.    Dim r    As tagRECT
  2227.  
  2228.    Dim Tmp1 As String
  2229.  
  2230.    Call cGetCtlRect(Label3, r)
  2231.  
  2232.    Tmp1 = "Coordinates (in pixels) of this label are :" & Chr$(13) & Chr$(13)
  2233.  
  2234.    Tmp1 = Tmp1 & "Left : " & r.Left & Chr$(13)
  2235.    Tmp1 = Tmp1 & "Top : " & r.Top & Chr$(13)
  2236.    Tmp1 = Tmp1 & "Right : " & r.Right & Chr$(13)
  2237.    Tmp1 = Tmp1 & "Bottom : " & r.Bottom & Chr$(13) & Chr$(13)
  2238.  
  2239.    Call cGetCtlRectTwips(Label3, r)
  2240.  
  2241.    Tmp1 = Tmp1 & "Coordinates (in twips) of this label are :" & Chr$(13) & Chr$(13)
  2242.  
  2243.    Tmp1 = Tmp1 & "Left : " & r.Left & Chr$(13)
  2244.    Tmp1 = Tmp1 & "Top : " & r.Top & Chr$(13)
  2245.    Tmp1 = Tmp1 & "Right : " & r.Right & Chr$(13)
  2246.    Tmp1 = Tmp1 & "Bottom : " & r.Bottom & Chr$(13)
  2247.  
  2248.    Label3.Caption = Tmp1
  2249.  
  2250.    For i = 1 To 11
  2251.  
  2252.       c3D Label3, 0, 0
  2253.       DoEvents
  2254.       j = cSleep(140)
  2255.  
  2256.       c3D Label3, 1, 0
  2257.       DoEvents
  2258.       j = cSleep(140)
  2259.  
  2260.    Next i
  2261.  
  2262. End Sub
  2263.  
  2264. Private Sub TestCountDirectories()
  2265.  
  2266.    Dim Title      As String
  2267.    Dim Tmp        As String
  2268.    Dim Tmp1       As String
  2269.    Dim Tmp2       As String
  2270.    Dim i          As Integer
  2271.    Dim j          As Integer
  2272.    Dim k          As Integer
  2273.    
  2274.    Tmp1 = ""
  2275.    Tmp1 = Tmp1 & "Number of directories in C:\ is " & cCountDirectories("C:\*.*") & Chr$(13) & Chr$(13)
  2276.    Tmp1 = Tmp1 & "Number of directories in D:\ is " & cCountDirectories("D:\*.*") & Chr$(13) & Chr$(13)
  2277.    Tmp1 = Tmp1 & "Number of directories in E:\ is " & cCountDirectories("E:\*.*") & Chr$(13) & Chr$(13)
  2278.  
  2279.    cStartBasisTimer
  2280.    For i = 1 To 10
  2281.       k = cCountDirectories("C:\*.*")
  2282.    Next i
  2283.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  2284.  
  2285.    Label3.Caption = Tmp1
  2286.  
  2287. End Sub
  2288.  
  2289. Private Sub TestCountFiles()
  2290.  
  2291.    Dim Title      As String
  2292.    Dim Tmp        As String
  2293.    Dim Tmp1       As String
  2294.    Dim Tmp2       As String
  2295.    Dim i          As Integer
  2296.    Dim j          As Integer
  2297.    Dim k          As Integer
  2298.    
  2299.    Tmp1 = ""
  2300.    Tmp1 = Tmp1 & "Number of files in C:\ is " & cCountFiles("C:\*.*") & Chr$(13) & Chr$(13)
  2301.    Tmp1 = Tmp1 & "Number of files in D:\ is " & cCountFiles("D:\*.*") & Chr$(13) & Chr$(13)
  2302.    Tmp1 = Tmp1 & "Number of files in E:\ is " & cCountFiles("E:\*.*") & Chr$(13) & Chr$(13)
  2303.  
  2304.    cStartBasisTimer
  2305.    For i = 1 To 10
  2306.       k = cCountFiles("C:\*.*")
  2307.    Next i
  2308.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  2309.  
  2310.    Label3.Caption = Tmp1
  2311.  
  2312. End Sub
  2313.  
  2314. Private Sub TestCountI()
  2315.  
  2316.    Dim Title      As String
  2317.    Dim Tmp        As String
  2318.    Dim Tmp1       As String
  2319.    Dim Tmp2       As String
  2320.    Dim i          As Integer
  2321.    Dim j          As Integer
  2322.    Dim m          As Integer
  2323.    
  2324.    ReDim array(20) As Integer
  2325.    Call cRndInit(-1)
  2326.  
  2327.    For i = LBound(array) To UBound(array)
  2328.       array(i) = cRndI()
  2329.       List1.AddItem "" & array(i)
  2330.    Next i
  2331.  
  2332.    Tmp1 = Tmp1 & "Count '" & array(5) & "' is " & cCountI(array(), array(5)) & Chr$(13)
  2333.    Tmp1 = Tmp1 & "Count '" & array(10) & "' is " & cCountI(array(), array(10)) & Chr$(13)
  2334.    Tmp1 = Tmp1 & "Count '" & array(15) & "' is " & cCountI(array(), array(15)) & Chr$(13)
  2335.    Tmp1 = Tmp1 & "Count '" & array(20) & "' is " & cCountI(array(), array(20)) & Chr$(13)
  2336.    Tmp1 = Tmp1 & "Count '" & -1234 & "' is " & cCountI(array(), -1234) & Chr$(13)
  2337.    
  2338.    cStartBasisTimer
  2339.    For i = 1 To ItemFile
  2340.       j = cCountI(array(), array(1))
  2341.    Next i
  2342.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2343.  
  2344.    Label3.Caption = Tmp1
  2345.  
  2346. End Sub
  2347.  
  2348. Private Sub TestCreateAndFill()
  2349.  
  2350.    Dim Title      As String
  2351.    Dim Tmp        As String
  2352.    Dim Tmp1       As String
  2353.    Dim Tmp2       As String
  2354.    Dim i          As Integer
  2355.    Dim j          As Integer
  2356.    
  2357.  
  2358.    Tmp = Text1.Text
  2359.    Title = "Create and Fill a string of 40 chars with [" & Tmp & "] is "
  2360.  
  2361.    Tmp1 = Title & cCreateAndFill(40, Tmp) & Chr$(13) & Chr$(13)
  2362.  
  2363.    cStartBasisTimer
  2364.    For i = 1 To Item
  2365.       Tmp2 = cCreateAndFill(40, Tmp)
  2366.    Next i
  2367.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2368.  
  2369.    Label3.Caption = Tmp1
  2370.  
  2371. End Sub
  2372.  
  2373. Private Sub TestCreateBits()
  2374.  
  2375.    Dim Title      As String
  2376.    Dim Tmp        As String
  2377.    Dim Tmp1       As String
  2378.    Dim Tmp2       As String
  2379.    Dim i          As Integer
  2380.    Dim j          As Integer
  2381.    
  2382.  
  2383.    Tmp = Text1.Text
  2384.    Title = "Create a string for 1024 bits is "
  2385.  
  2386.    Tmp1 = Title & Len(cCreateBits(1024)) & " bytes" & Chr$(13) & Chr$(13)
  2387.  
  2388.    cStartBasisTimer
  2389.    For i = 1 To Item
  2390.       Tmp2 = cCreateBits(1024)
  2391.    Next i
  2392.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2393.  
  2394.    Label3.Caption = Tmp1
  2395.  
  2396. End Sub
  2397.  
  2398. Private Sub TestCustomControls()
  2399.    Dim i       As Integer
  2400.    Dim N       As Integer
  2401.    Dim Tmp1    As String
  2402.    N = frmT2W.Count - 1
  2403.    For i = 0 To N
  2404.       Tmp1 = Tmp1 + "Control name is '" & cGetCtlNameIndex(frmT2W.Controls(i)) & "'     Control Class is '" & cGetCtlClass(frmT2W.Controls(i)) & "'" + Chr$(13)
  2405.    Next i
  2406.    Label3.Caption = Tmp1
  2407. End Sub
  2408.  
  2409. Private Sub TestDAL(Management As Integer)
  2410.  
  2411.    Dim Tmp        As String
  2412.    Dim ErrCode    As Integer
  2413.    Dim DA         As tagDISKARRAY
  2414.  
  2415.    ErrCode = cMakeDir("c:\t2w_tmp")
  2416.  
  2417.    DA.nFilename = "c:\t2w_tmp\dalong.tmp"
  2418.    DA.nType = DA_LONG
  2419.    DA.nIsTyped = False
  2420.    DA.nRows = 100
  2421.    DA.nCols = 100
  2422.    DA.nSheets = 2
  2423.  
  2424.    Select Case Management
  2425.       Case True      'create
  2426.          ErrCode = cDACreate(DA, True)
  2427.       Case False     'use
  2428.          ErrCode = cDACreate(DA, False)
  2429.       Case 1         'clear all
  2430.          ErrCode = cDACreate(DA, False)
  2431.          If (ErrCode = -1) Then ErrCode = cDAClear(DA)
  2432.       Case 2         'clear sheet 2
  2433.          ErrCode = cDACreate(DA, False)
  2434.          If (ErrCode = -1) Then ErrCode = cDAClearSheet(DA, 2)
  2435.       Case 3         'clear last row
  2436.          ErrCode = cDACreate(DA, False)
  2437.          If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, 1)
  2438.       Case 4         'clear last col
  2439.          ErrCode = cDACreate(DA, False)
  2440.          If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, 1)
  2441.       Case 5         'clear last row in all sheets
  2442.          ErrCode = cDACreate(DA, False)
  2443.          If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, -1)
  2444.       Case 6         'clear last col in all sheets
  2445.          ErrCode = cDACreate(DA, False)
  2446.          If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, -1)
  2447.    End Select
  2448.  
  2449.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  2450.  
  2451.    If (ErrCode = True) Then
  2452.       
  2453.       Tmp = Tmp & "DA.daSize       = " & DA.daSize & Chr$(13)
  2454.       Tmp = Tmp & "DA.Signature    = " & DA.signature & Chr$(13)
  2455.       Tmp = Tmp & "DA.nFilename    = " & Trim$(DA.nFilename) & Chr$(13)
  2456.       Tmp = Tmp & "DA.nType        = " & DA.nType & Chr$(13)
  2457.       Tmp = Tmp & "DA.nIsTyped     = " & DA.nIsTyped & Chr$(13)
  2458.       Tmp = Tmp & "DA.nRows        = " & DA.nRows & Chr$(13)
  2459.       Tmp = Tmp & "DA.nCols        = " & DA.nCols & Chr$(13)
  2460.       Tmp = Tmp & "DA.nSheets      = " & DA.nSheets & Chr$(13)
  2461.       Tmp = Tmp & "DA.rHandle      = " & DA.rHandle & Chr$(13)
  2462.       Tmp = Tmp & "DA.rElementSize = " & DA.rElementSize & Chr$(13)
  2463.       Tmp = Tmp & "DA.rFileSize    = " & DA.rFileSize & Chr$(13)
  2464.       Tmp = Tmp & "DA.rParts       = " & DA.rParts & Chr$(13)
  2465.       Tmp = Tmp & "DA.rRemain      = " & DA.rRemain & Chr$(13)
  2466.       Tmp = Tmp & "DA.rSheetSize   = " & DA.rSheetSize & Chr$(13)
  2467.       Tmp = Tmp & "DA.rTime        = " & DA.rTime & Chr$(13) & Chr$(13)
  2468.  
  2469.       If (Management = True) Then
  2470.  
  2471.          Call cDAPut(DA, 1, 1, 1, 12345)
  2472.          Call cDAPut(DA, 1, DA.nCols, 1, 56789)
  2473.          Call cDAPut(DA, DA.nRows, 1, 1, 54321)
  2474.          Call cDAPut(DA, DA.nRows, DA.nCols, 1, 98765)
  2475.    
  2476.          Call cDAPut(DA, 1, 1, 2, 12345678)
  2477.          Call cDAPut(DA, 1, DA.nCols, 2, 34567890)
  2478.          Call cDAPut(DA, DA.nRows, 1, 2, 123456789)
  2479.          Call cDAPut(DA, DA.nRows, DA.nCols, 2, 987654321)
  2480.  
  2481.       End If
  2482.    
  2483.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cDAGet(DA, 1, 1, 1) & "   , time : " & DA.rTime & Chr$(13)
  2484.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:1, Value : " & cDAGet(DA, 1, DA.nCols, 1) & "   , time : " & DA.rTime & Chr$(13)
  2485.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:1, Value : " & cDAGet(DA, DA.nRows, 1, 1) & "   , time : " & DA.rTime & Chr$(13)
  2486.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:1, Value : " & cDAGet(DA, DA.nRows, DA.nCols, 1) & "   , time : " & DA.rTime & Chr$(13)
  2487.    
  2488.       Tmp = Tmp & "R:1  , C:1  , D:2, Value : " & cDAGet(DA, 1, 1, 2) & "   , time : " & DA.rTime & Chr$(13)
  2489.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:2, Value : " & cDAGet(DA, 1, DA.nCols, 2) & "   , time : " & DA.rTime & Chr$(13)
  2490.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:2, Value : " & cDAGet(DA, DA.nRows, 1, 2) & "   , time : " & DA.rTime & Chr$(13)
  2491.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:2, Value : " & cDAGet(DA, DA.nRows, DA.nCols, 2) & "   , time : " & DA.rTime & Chr$(13)
  2492.  
  2493.    End If
  2494.  
  2495.    Call cDAClose(DA, False)
  2496.  
  2497.    Label3.Caption = Tmp
  2498.  
  2499. End Sub
  2500.  
  2501. Private Sub TestDAStr(Management As Integer)
  2502.  
  2503.    Dim Tmp        As String
  2504.    Dim ErrCode    As Integer
  2505.    Dim DA         As tagDISKARRAY
  2506.  
  2507.    ErrCode = cMakeDir("c:\t2w_tmp")
  2508.  
  2509.    DA.nFilename = "c:\t2w_tmp\dastring.tmp"
  2510.    DA.nType = 50
  2511.    DA.nIsTyped = False
  2512.    DA.nRows = 100
  2513.    DA.nCols = 100
  2514.    DA.nSheets = 2
  2515.  
  2516.    Select Case Management
  2517.       Case True      'create
  2518.          ErrCode = cDACreate(DA, True)
  2519.       Case False     'use
  2520.          ErrCode = cDACreate(DA, False)
  2521.       Case 1         'clear all
  2522.          ErrCode = cDACreate(DA, False)
  2523.          If (ErrCode = -1) Then ErrCode = cDAClear(DA)
  2524.       Case 2         'clear sheet 2
  2525.          ErrCode = cDACreate(DA, False)
  2526.          If (ErrCode = -1) Then ErrCode = cDAClearSheet(DA, 2)
  2527.       Case 3         'clear last row
  2528.          ErrCode = cDACreate(DA, False)
  2529.          If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, 1)
  2530.       Case 4         'clear last col
  2531.          ErrCode = cDACreate(DA, False)
  2532.          If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, 1)
  2533.       Case 5         'clear last row in all sheets
  2534.          ErrCode = cDACreate(DA, False)
  2535.          If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, -1)
  2536.       Case 6         'clear last col in all sheets
  2537.          ErrCode = cDACreate(DA, False)
  2538.          If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, -1)
  2539.    End Select
  2540.  
  2541.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  2542.  
  2543.    If (ErrCode = True) Then
  2544.       
  2545.       Tmp = Tmp & "DA.daSize       = " & DA.daSize & Chr$(13)
  2546.       Tmp = Tmp & "DA.Signature    = " & DA.signature & Chr$(13)
  2547.       Tmp = Tmp & "DA.nFilename    = " & Trim$(DA.nFilename) & Chr$(13)
  2548.       Tmp = Tmp & "DA.nType        = " & DA.nType & Chr$(13)
  2549.       Tmp = Tmp & "DA.nIsTyped     = " & DA.nIsTyped & Chr$(13)
  2550.       Tmp = Tmp & "DA.nRows        = " & DA.nRows & Chr$(13)
  2551.       Tmp = Tmp & "DA.nCols        = " & DA.nCols & Chr$(13)
  2552.       Tmp = Tmp & "DA.nSheets      = " & DA.nSheets & Chr$(13)
  2553.       Tmp = Tmp & "DA.rHandle      = " & DA.rHandle & Chr$(13)
  2554.       Tmp = Tmp & "DA.rElementSize = " & DA.rElementSize & Chr$(13)
  2555.       Tmp = Tmp & "DA.rFileSize    = " & DA.rFileSize & Chr$(13)
  2556.       Tmp = Tmp & "DA.rParts       = " & DA.rParts & Chr$(13)
  2557.       Tmp = Tmp & "DA.rRemain      = " & DA.rRemain & Chr$(13)
  2558.       Tmp = Tmp & "DA.rSheetSize   = " & DA.rSheetSize & Chr$(13)
  2559.       Tmp = Tmp & "DA.rTime        = " & DA.rTime & Chr$(13) & Chr$(13)
  2560.  
  2561.       If (Management = True) Then
  2562.       
  2563.          Call cDAPut(DA, 1, 1, 1, "D:1, ABCDEFGHIJ")
  2564.          Call cDAPut(DA, 1, DA.nCols, 1, "D:1, abcdefghij")
  2565.          Call cDAPut(DA, DA.nRows, 1, 1, "D:1, OPQRSTUVWXYZ")
  2566.          Call cDAPut(DA, DA.nRows, DA.nCols, 1, "D:1, oprqstuvwxyz")
  2567.    
  2568.          Call cDAPut(DA, 1, 1, 2, "D:2, 1234567890")
  2569.          Call cDAPut(DA, 1, DA.nCols, 2, "D:2, 0987654321")
  2570.          Call cDAPut(DA, DA.nRows, 1, 2, "D:2, 12345ABCDE")
  2571.          Call cDAPut(DA, DA.nRows, DA.nCols, 2, "D:2, VWXYZ54321")
  2572.  
  2573.       End If
  2574.    
  2575.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & Trim$(cDAGet(DA, 1, 1, 1)) & "   , time : " & DA.rTime & Chr$(13)
  2576.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:1, Value : " & Trim$(cDAGet(DA, 1, DA.nCols, 1)) & "   , time : " & DA.rTime & Chr$(13)
  2577.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:1, Value : " & Trim$(cDAGet(DA, DA.nRows, 1, 1)) & "   , time : " & DA.rTime & Chr$(13)
  2578.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:1, Value : " & Trim$(cDAGet(DA, DA.nRows, DA.nCols, 1)) & "   , time : " & DA.rTime & Chr$(13)
  2579.    
  2580.       Tmp = Tmp & "R:1  , C:1  , D:2, Value : " & Trim$(cDAGet(DA, 1, 1, 2)) & "   , time : " & DA.rTime & Chr$(13)
  2581.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:2, Value : " & Trim$(cDAGet(DA, 1, DA.nCols, 2)) & "   , time : " & DA.rTime & Chr$(13)
  2582.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:2, Value : " & Trim$(cDAGet(DA, DA.nRows, 1, 2)) & "   , time : " & DA.rTime & Chr$(13)
  2583.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:2, Value : " & Trim$(cDAGet(DA, DA.nRows, DA.nCols, 2)) & "   , time : " & DA.rTime & Chr$(13)
  2584.  
  2585.    End If
  2586.  
  2587.    Call cDAClose(DA, False)
  2588.  
  2589.    Label3.Caption = Tmp
  2590.    
  2591. End Sub
  2592.  
  2593. Private Sub TestDate()
  2594.  
  2595.    Dim Title      As String
  2596.    Dim Tmp        As String
  2597.    Dim Tmp1       As String
  2598.    Dim Tmp2       As String
  2599.    Dim i          As Integer
  2600.    Dim j          As Integer
  2601.  
  2602.    Dim nYear      As Integer
  2603.    Dim nMonth     As Integer
  2604.    Dim nDay       As Integer
  2605.  
  2606.    Dim nNow       As Long
  2607.  
  2608.    nNow = Int(Now)
  2609.  
  2610.    nYear = Year(nNow)
  2611.    nMonth = Month(nNow)
  2612.    nDay = Day(nNow)
  2613.  
  2614.    Tmp1 = "Today is the '" & Format$(Int(Now), "short date") & "'" & Chr$(13) & Chr$(13)
  2615.  
  2616.    Tmp1 = Tmp1 & "Day of the week (ISO, U.S., Special) is (" & cDayOfWeek(nYear, nMonth, nDay, True) & ", " & cDayOfWeek(nYear, nMonth, nDay, False) & ", " & cDayOfWeek(nYear, nMonth, nDay, 1) & ")" & Chr$(13) & Chr$(13)
  2617.  
  2618.    Tmp1 = Tmp1 & "Day of the year is '" & cDayOfYear(nYear, nMonth, nDay) & "'" & Chr$(13) & Chr$(13)
  2619.  
  2620.    Tmp1 = Tmp1 & "Week of the year (ISO, U.S., Special) is (" & cWeekOfYear(nYear, nMonth, nDay, True) & ", " & cWeekOfYear(nYear, nMonth, nDay, False) & ", " & cWeekOfYear(nYear, nMonth, nDay, 1) & ")" & Chr$(13) & Chr$(13)
  2621.  
  2622.    nNow = cDateToScalar(nYear, nMonth, nDay)
  2623.    Tmp1 = Tmp1 & "Scalar day is '" & nNow & "'" & Chr$(13)
  2624.    nYear = 0
  2625.    nMonth = 0
  2626.    nDay = 0
  2627.    Call cScalarToDate(nNow, nYear, nMonth, nDay)
  2628.    Tmp1 = Tmp1 & "Year : " & nYear & ", Month : " & nMonth & ", Day : " & nDay & Chr$(13) & Chr$(13) & Chr$(13)
  2629.  
  2630.    nNow = Int(Now)
  2631.  
  2632.    nYear = Year(nNow)
  2633.    nMonth = 1
  2634.    nDay = 1
  2635.  
  2636.    Tmp1 = Tmp1 & "First Day is the '" & Format$(DateSerial(nYear, nMonth, nDay), "short date") & "'" & Chr$(13) & Chr$(13)
  2637.  
  2638.    Tmp1 = Tmp1 & "Day of the week (ISO, U.S., Special) is (" & cDayOfWeek(nYear, nMonth, nDay, True) & ", " & cDayOfWeek(nYear, nMonth, nDay, False) & ", " & cDayOfWeek(nYear, nMonth, nDay, 1) & ")" & Chr$(13) & Chr$(13)
  2639.  
  2640.    Tmp1 = Tmp1 & "Day of the year is '" & cDayOfYear(nYear, nMonth, nDay) & "'" & Chr$(13) & Chr$(13)
  2641.  
  2642.    Tmp1 = Tmp1 & "Week of the year (ISO, U.S., Special) is (" & cWeekOfYear(nYear, nMonth, nDay, True) & ", " & cWeekOfYear(nYear, nMonth, nDay, False) & ", " & cWeekOfYear(nYear, nMonth, nDay, 1) & ")" & Chr$(13) & Chr$(13)
  2643.  
  2644.    nNow = cDateToScalar(nYear, nMonth, nDay)
  2645.    Tmp1 = Tmp1 & "Scalar day is '" & nNow & "'" & Chr$(13)
  2646.    nYear = 0
  2647.    nMonth = 0
  2648.    nDay = 0
  2649.    Call cScalarToDate(nNow, nYear, nMonth, nDay)
  2650.    Tmp1 = Tmp1 & "Year : " & nYear & ", Month : " & nMonth & ", Day : " & nDay & Chr$(13) & Chr$(13)
  2651.  
  2652.    Label3.Caption = Tmp1
  2653.  
  2654. End Sub
  2655.  
  2656. Private Sub TestDAType(Management As Integer)
  2657.  
  2658.    Dim Tmp        As String
  2659.    Dim ErrCode    As Integer
  2660.    Dim DA         As tagDISKARRAY
  2661.    Dim TE         As tagTASKENTRY
  2662.  
  2663.    ErrCode = cMakeDir("c:\t2w_tmp")
  2664.  
  2665.    DA.nFilename = "c:\t2w_tmp\datype.tmp"
  2666.    DA.nType = Len(TE)
  2667.    DA.nIsTyped = True
  2668.    DA.nRows = 100
  2669.    DA.nCols = 100
  2670.    DA.nSheets = 2
  2671.  
  2672.    Select Case Management
  2673.       Case True      'create
  2674.          ErrCode = cDACreate(DA, True)
  2675.       Case False     'use
  2676.          ErrCode = cDACreate(DA, False)
  2677.       Case 1         'clear all
  2678.          ErrCode = cDACreate(DA, False)
  2679.          If (ErrCode = -1) Then ErrCode = cDAClear(DA)
  2680.       Case 2         'clear sheet 2
  2681.          ErrCode = cDACreate(DA, False)
  2682.          If (ErrCode = -1) Then ErrCode = cDAClearSheet(DA, 2)
  2683.       Case 3         'clear last row
  2684.          ErrCode = cDACreate(DA, False)
  2685.          If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, 1)
  2686.       Case 4         'clear last col
  2687.          ErrCode = cDACreate(DA, False)
  2688.          If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, 1)
  2689.       Case 5         'clear last row in all sheets
  2690.          ErrCode = cDACreate(DA, False)
  2691.          If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, -1)
  2692.       Case 6         'clear last col in all sheets
  2693.          ErrCode = cDACreate(DA, False)
  2694.          If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, -1)
  2695.       End Select
  2696.  
  2697.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  2698.  
  2699.    If (ErrCode = True) Then
  2700.       
  2701.       Tmp = Tmp & "DA.daSize       = " & DA.daSize & Chr$(13)
  2702.       Tmp = Tmp & "DA.Signature    = " & DA.signature & Chr$(13)
  2703.       Tmp = Tmp & "DA.nFilename    = " & Trim$(DA.nFilename) & Chr$(13)
  2704.       Tmp = Tmp & "DA.nType        = " & DA.nType & Chr$(13)
  2705.       Tmp = Tmp & "DA.nIsTyped     = " & DA.nIsTyped & Chr$(13)
  2706.       Tmp = Tmp & "DA.nRows        = " & DA.nRows & Chr$(13)
  2707.       Tmp = Tmp & "DA.nCols        = " & DA.nCols & Chr$(13)
  2708.       Tmp = Tmp & "DA.nSheets      = " & DA.nSheets & Chr$(13)
  2709.       Tmp = Tmp & "DA.rHandle      = " & DA.rHandle & Chr$(13)
  2710.       Tmp = Tmp & "DA.rElementSize = " & DA.rElementSize & Chr$(13)
  2711.       Tmp = Tmp & "DA.rFileSize    = " & DA.rFileSize & Chr$(13)
  2712.       Tmp = Tmp & "DA.rParts       = " & DA.rParts & Chr$(13)
  2713.       Tmp = Tmp & "DA.rRemain      = " & DA.rRemain & Chr$(13)
  2714.       Tmp = Tmp & "DA.rSheetSize   = " & DA.rSheetSize & Chr$(13)
  2715.       Tmp = Tmp & "DA.rTime        = " & DA.rTime & Chr$(13) & Chr$(13)
  2716.  
  2717.       If (Management = True) Then
  2718.    
  2719.          ErrCode = cTasks(TE, True)
  2720.          Call cDAPutType(DA, 1, 1, 1, TE)
  2721.          ErrCode = cTasks(TE, False)
  2722.          Call cDAPutType(DA, 1, DA.nCols, 1, TE)
  2723.          ErrCode = cTasks(TE, False)
  2724.          Call cDAPutType(DA, DA.nRows, 1, 1, TE)
  2725.          ErrCode = cTasks(TE, False)
  2726.          Call cDAPutType(DA, DA.nRows, DA.nCols, 1, TE)
  2727.    
  2728.          ErrCode = cTasks(TE, False)
  2729.          Call cDAPutType(DA, 1, 1, 2, TE)
  2730.          ErrCode = cTasks(TE, False)
  2731.          Call cDAPutType(DA, 1, DA.nCols, 2, TE)
  2732.          ErrCode = cTasks(TE, False)
  2733.          Call cDAPutType(DA, DA.nRows, 1, 2, TE)
  2734.          ErrCode = cTasks(TE, False)
  2735.          Call cDAPutType(DA, DA.nRows, DA.nCols, 2, TE)
  2736.          
  2737.       End If
  2738.  
  2739.       Call cDAGetType(DA, 1, 1, 1, TE)
  2740.       Tmp = Tmp & "R:1  , C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2741.       Call cDAGetType(DA, 1, DA.nCols, 1, TE)
  2742.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2743.       Call cDAGetType(DA, DA.nRows, 1, 1, TE)
  2744.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2745.       Call cDAGetType(DA, DA.nRows, DA.nCols, 1, TE)
  2746.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2747.    
  2748.       Call cDAGetType(DA, 1, 1, 2, TE)
  2749.       Tmp = Tmp & "R:1  , C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2750.       Call cDAGetType(DA, 1, DA.nCols, 2, TE)
  2751.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2752.       Call cDAGetType(DA, DA.nRows, 1, 2, TE)
  2753.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2754.       Call cDAGetType(DA, DA.nRows, DA.nCols, 2, TE)
  2755.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2756.  
  2757.    End If
  2758.  
  2759.    Call cDAClose(DA, False)
  2760.  
  2761.    Label3.Caption = Tmp
  2762.    
  2763. End Sub
  2764.  
  2765. Private Sub TestDecrypt()
  2766.  
  2767.    Dim Title      As String
  2768.    Dim Tmp        As String
  2769.    Dim Tmp1       As String
  2770.    Dim Tmp2       As String
  2771.    Dim Tmp3       As String
  2772.    Dim i          As Integer
  2773.    Dim j          As Integer
  2774.    
  2775.    Tmp3 = cToHexa(Format$(76543210))
  2776.    Tmp2 = "T2WIN-16"
  2777.  
  2778.    For i = ENCRYPT_LEVEL_0 To ENCRYPT_LEVEL_4
  2779.       Tmp = cEncrypt(Tmp2, Tmp3, i)
  2780.       Tmp1 = Tmp1 & "Decrypt (level " & i & ") of [" & Tmp & "] with '?' is "
  2781.       Tmp1 = Tmp1 & "[" & cDecrypt(Tmp, Tmp3, i) & "]" & Chr$(13) & Chr$(13)
  2782.    Next i
  2783.  
  2784.    cStartBasisTimer
  2785.    For i = 1 To Item
  2786.       Tmp2 = cDecrypt(Tmp2, Tmp1, ENCRYPT_LEVEL_3)
  2787.    Next i
  2788.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2789.  
  2790.    Label3.Caption = Tmp1
  2791.  
  2792. End Sub
  2793.  
  2794. Private Sub TestDeviationI()
  2795.  
  2796.    Dim Title      As String
  2797.    Dim Tmp        As String
  2798.    Dim Tmp1       As String
  2799.    Dim Tmp2       As String
  2800.    Dim i          As Integer
  2801.    Dim j          As Integer
  2802.    Dim m          As Double
  2803.    Dim N          As Double
  2804.    
  2805.    ReDim array(ItemMean) As Integer
  2806.    Randomize Timer
  2807.  
  2808.    m = 0
  2809.    For i = LBound(array) To UBound(array)
  2810.       array(i) = Int(RandI * Rnd(1))
  2811.       m = m + array(i)
  2812.       List1.AddItem "" & array(i)
  2813.    Next i
  2814.    m = m / (UBound(array) - LBound(array) + 1)
  2815.    
  2816.    N = 0
  2817.    For i = LBound(array) To UBound(array)
  2818.       N = N + ((array(i) - m) * (array(i) - m))
  2819.    Next i
  2820.    N = (Sqr(N) / (UBound(array) - LBound(array) + 1))
  2821.  
  2822.    Tmp1 = "The Deviation of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cDeviationI(array()) & " (" & N & ")" & Chr$(13) & Chr$(13)
  2823.  
  2824.    cStartBasisTimer
  2825.    For i = 1 To ItemFile
  2826.       m = cDeviationI(array())
  2827.    Next i
  2828.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2829.  
  2830.    Label3.Caption = Tmp1
  2831.  
  2832. End Sub
  2833.  
  2834. Private Sub TestDOSGetVolLabel()
  2835.  
  2836.    Dim Title         As String
  2837.    Dim Tmp           As String
  2838.    Dim Tmp1          As String
  2839.    Dim Tmp2          As String
  2840.    Dim i             As Integer
  2841.    Dim j             As Integer
  2842.  
  2843.    For i = 1 To 4
  2844.       Tmp2 = cDOSGetVolumeLabel(Chr$(64 + i))
  2845.       If (Len(Tmp2) > 0) Then
  2846.          Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : '" & Tmp2 & "'" & Chr$(13)
  2847.       Else
  2848.          Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : no volume label" & Chr$(13)
  2849.       End If
  2850.    Next i
  2851.  
  2852.    Tmp1 = Tmp1 + Chr$(13)
  2853.  
  2854.    cStartBasisTimer
  2855.    For i = 1 To Item
  2856.       Tmp2 = cDOSGetVolumeLabel("C")
  2857.    Next i
  2858.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2859.  
  2860.    Label3.Caption = Tmp1
  2861.  
  2862. End Sub
  2863.  
  2864. Private Sub TestDOSMediaID()
  2865.  
  2866.    Dim Title         As String
  2867.    Dim Tmp           As String
  2868.    Dim Tmp1          As String
  2869.    Dim Tmp2          As String
  2870.    Dim i             As Integer
  2871.    Dim j             As Integer
  2872.  
  2873.    Dim MEDIAID       As tagMEDIAID
  2874.  
  2875.    For i = 1 To 7
  2876.       If (cDOSGetMediaID(Chr$(64 + i), MEDIAID) = True) Then
  2877.          Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : " & Chr$(13)
  2878.          Tmp1 = Tmp1 & "   SerialNumber is '" & Hex$(MEDIAID.SerialNumber) & "'" & Chr$(13)
  2879.          Tmp1 = Tmp1 & "   VolLabel is '" & MEDIAID.VolLabel & "'" & Chr$(13)
  2880.          Tmp1 = Tmp1 & "   FileSysType is '" & MEDIAID.FileSysType & "'" & Chr$(13) & Chr$(13)
  2881.       Else
  2882.          Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : no media id" & Chr$(13) & Chr$(13)
  2883.       End If
  2884.    Next i
  2885.  
  2886.    Tmp1 = Tmp1 + Chr$(13)
  2887.  
  2888.    cStartBasisTimer
  2889.    For i = 1 To Item
  2890.       j = cDOSGetMediaID("", MEDIAID)
  2891.    Next i
  2892.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2893.  
  2894.    Label3.Caption = Tmp1
  2895.  
  2896. End Sub
  2897.  
  2898. Private Sub TestDriveType()
  2899.  
  2900.    Dim Title      As String
  2901.    Dim Tmp        As String
  2902.    Dim Tmp1       As String
  2903.    Dim Tmp2       As String
  2904.    Dim i          As Integer
  2905.    Dim j          As Integer
  2906.  
  2907.    Tmp1 = ""
  2908.    
  2909.    For i = 1 To 26
  2910.       j = cGetDriveType(Chr$(64 + i))
  2911.       If (j > 0) Then
  2912.          Tmp1 = Tmp1 & "'" & Chr$(64 + i) & ":' is "
  2913.          Select Case j
  2914.             Case 2
  2915.                Tmp1 = Tmp1 & "removable disk" & Chr$(13)
  2916.             Case 3
  2917.                Tmp1 = Tmp1 & "fixed disk" & Chr$(13)
  2918.             Case 4
  2919.                Tmp1 = Tmp1 & "remote disk" & Chr$(13)
  2920.             Case 20
  2921.                Tmp1 = Tmp1 & "cd-rom" & Chr$(13)
  2922.          End Select
  2923.       End If
  2924.    Next i
  2925.  
  2926.    Tmp1 = Tmp1 + Chr$(13)
  2927.  
  2928.    cStartBasisTimer
  2929.    For i = 1 To Item
  2930.       j = cGetDriveType("C")
  2931.    Next i
  2932.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2933.  
  2934.    Label3.Caption = Tmp1
  2935.  
  2936. End Sub
  2937.  
  2938. Private Sub TestEncrypt()
  2939.  
  2940.    Dim Title      As String
  2941.    Dim Tmp        As String
  2942.    Dim Tmp1       As String
  2943.    Dim Tmp2       As String
  2944.    Dim Tmp3       As String
  2945.    Dim i          As Integer
  2946.    Dim j          As Integer
  2947.    
  2948.    Tmp3 = cToHexa(Format$(76543210))
  2949.    Tmp2 = "T2WIN-16"
  2950.  
  2951.    Tmp = Text1.Text
  2952.  
  2953.    For i = ENCRYPT_LEVEL_0 To ENCRYPT_LEVEL_4
  2954.       Tmp1 = Tmp1 & "Encrypt (level " & i & ") of [" & Tmp2 & "] with '?' is "
  2955.       Tmp1 = Tmp1 & "[" & cEncrypt(Tmp2, Tmp3, i) & "]" & Chr$(13) & Chr$(13)
  2956.    Next i
  2957.  
  2958.    cStartBasisTimer
  2959.    For i = 1 To Item
  2960.       Tmp2 = cEncrypt(Tmp2, Tmp1, ENCRYPT_LEVEL_3)
  2961.    Next i
  2962.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2963.  
  2964.    Label3.Caption = Tmp1
  2965.  
  2966. End Sub
  2967.  
  2968. Private Sub TestExpandTab()
  2969.  
  2970.    Dim Title      As String
  2971.    Dim Tmp        As String
  2972.    Dim Tmp1       As String
  2973.    Dim Tmp2       As String
  2974.    Dim i          As Integer
  2975.    Dim j          As Integer
  2976.  
  2977.    Tmp = "A" & Chr$(9) & "BC" & Chr$(9) & "DEF" & Chr$(9) & "GHIJ" & Chr$(9) & ""
  2978.    Title = "Expand tab (2 chars) into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  2979.    Tmp1 = Title & cExpandTab(Tmp, 2) & Chr$(13) & Chr$(13)
  2980.  
  2981.    Tmp = "A" & Chr$(9) & "BC" & Chr$(9) & "DEF" & Chr$(9) & "GHIJ" & Chr$(9) & ""
  2982.    Title = "Expand tab (4 chars) into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  2983.    Tmp1 = Tmp1 & Title & cExpandTab(Tmp, 4) & Chr$(13) & Chr$(13)
  2984.  
  2985.    cStartBasisTimer
  2986.    For i = 1 To Item
  2987.       Tmp2 = cExpandTab(Tmp, 3)
  2988.    Next i
  2989.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2990.  
  2991.    Label3.Caption = Tmp1
  2992.  
  2993. End Sub
  2994.  
  2995. Private Sub TestFileChangeChars()
  2996.  
  2997.    Dim Title      As String
  2998.    Dim Tmp        As String
  2999.    Dim Tmp1       As String
  3000.    Dim Tmp2       As String
  3001.    Dim Tmp3       As String
  3002.    Dim Tmp4       As String
  3003.    Dim i          As Integer
  3004.    Dim j          As Long
  3005.    
  3006.    Tmp1 = ""
  3007.    Tmp = "c:\autoexec.bat"
  3008.    Tmp2 = "c:\autoexec.tab"
  3009.    Tmp3 = "REM"
  3010.    Tmp4 = "rem"
  3011.  
  3012.    Tmp1 = Tmp1 & "File Copy " & Tmp & " to " & Tmp2 & " is " & cFileCopy(Tmp, Tmp2) & Chr$(13) & Chr$(13)
  3013.    Tmp1 = Tmp1 & "File Change Chars : '" & Tmp3 & "' -> '" & Tmp4 & "' in '" & Tmp2 & "' is " & cFileChangeChars(Tmp2, Tmp3, Tmp4, "c:\tmp.tmp") & Chr$(13) & Chr$(13)
  3014.  
  3015.    cStartBasisTimer
  3016.    For i = 1 To Item
  3017.       If ((i Mod 2) = 1) Then
  3018.          j = cFileChangeChars(Tmp2, Tmp3, Tmp4, "")
  3019.       Else
  3020.          j = cFileChangeChars(Tmp2, Tmp4, Tmp3, "")
  3021.       End If
  3022.    Next i
  3023.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3024.  
  3025.    Label3.Caption = Tmp1
  3026.  
  3027. End Sub
  3028.  
  3029. Private Sub TestFileCmp()
  3030.    
  3031.    Dim Title      As String
  3032.    Dim Tmp        As String
  3033.    Dim Tmp1       As String
  3034.    Dim Tmp2       As String
  3035.    Dim i          As Integer
  3036.    Dim j          As Integer
  3037.    
  3038.    Tmp1 = ""
  3039.    Tmp = "c:\autoexec.bat"
  3040.    Tmp2 = "c:\tmp\autoexec.bat"
  3041.  
  3042.    Tmp1 = Tmp1 & "Compare file attribute " & Tmp & " with " & Tmp2 & " is " & cCmpFileAttribute(Tmp, Tmp2) & Chr$(13)
  3043.    Tmp1 = Tmp1 & "Compare file size " & Tmp & " with " & Tmp2 & " is " & cCmpFileSize(Tmp, Tmp2) & Chr$(13)
  3044.    Tmp1 = Tmp1 & "Compare file time " & Tmp & " with " & Tmp2 & " is " & cCmpFileTime(Tmp, Tmp2) & Chr$(13)
  3045.    Tmp1 = Tmp1 & "Compare file contents (case sensitive) " & Tmp & " with " & Tmp2 & " is " & cCmpFileContents(Tmp, Tmp2, True) & Chr$(13)
  3046.    Tmp1 = Tmp1 & "Compare file contents (not sensitive) " & Tmp & " with " & Tmp2 & " is " & cCmpFileContents(Tmp, Tmp2, False) & Chr$(13) & Chr$(13)
  3047.  
  3048.    cStartBasisTimer
  3049.    For i = 1 To Item
  3050.       j = cCmpFileSize(Tmp, Tmp2)
  3051.    Next i
  3052.    Tmp1 = Tmp1 & "file size speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3053.  
  3054.    cStartBasisTimer
  3055.    For i = 1 To Item
  3056.       j = cCmpFileContents(Tmp, Tmp2, True)
  3057.    Next i
  3058.    Tmp1 = Tmp1 & "file contents (cs) speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3059.  
  3060.    cStartBasisTimer
  3061.    For i = 1 To Item
  3062.       j = cCmpFileContents(Tmp, Tmp2, False)
  3063.    Next i
  3064.    Tmp1 = Tmp1 & "file contents (ns) speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3065.  
  3066.    Label3.Caption = Tmp1
  3067.  
  3068. End Sub
  3069.  
  3070. Private Sub TestFileCompress()
  3071.  
  3072.    Dim Title      As String
  3073.    Dim Tmp        As String
  3074.    Dim Tmp1       As String
  3075.    Dim Tmp2       As String
  3076.    Dim Tmp3       As String
  3077.    Dim i          As Integer
  3078.    Dim j          As Long
  3079.    
  3080.    Tmp1 = ""
  3081.    Tmp = "c:\autoexec.bat"
  3082.    Tmp2 = "c:\autoexec.tb1"
  3083.    Tmp3 = "c:\autoexec.tb2"
  3084.    
  3085.    Tmp1 = Tmp1 & "File Compress '" & Tmp & "' to '" & Tmp2 & "' is " & cFileCompress(Tmp, Tmp2) & Chr$(13)
  3086.    Tmp1 = Tmp1 & "File Expand '" & Tmp2 & "' to '" & Tmp3 & "' is " & cFileExpand(Tmp2, Tmp3) & Chr$(13)
  3087.    Tmp1 = Tmp1 & "Compare file contents (not sensitive) '" & Tmp & "' with '" & Tmp3 & "' is " & IIf(cCmpFileContents(Tmp, Tmp3, False) = -1, "same", "not same") & Chr$(13) & Chr$(13)
  3088.  
  3089.    cStartBasisTimer
  3090.    For i = 1 To Item
  3091.       j = cFileCompress(Tmp, Tmp2)
  3092.    Next i
  3093.    j = cFileExpand(Tmp2, Tmp3)
  3094.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3095.  
  3096.    Label3.Caption = Tmp1
  3097.  
  3098. End Sub
  3099.  
  3100. Private Sub TestFileCompressTab()
  3101.  
  3102.    Dim Title      As String
  3103.    Dim Tmp        As String
  3104.    Dim Tmp1       As String
  3105.    Dim Tmp2       As String
  3106.    Dim Tmp3       As String
  3107.    Dim i          As Integer
  3108.    Dim j          As Long
  3109.    
  3110.    Tmp1 = ""
  3111.    Tmp = "c:\autoexec.bat"
  3112.    Tmp2 = "c:\autoexec.tb1"
  3113.    Tmp3 = "c:\autoexec.tb2"
  3114.    For i = 1 To 4
  3115.       Tmp1 = Tmp1 & "File CompressTab (" & i & " spaces = 1 tab) " & Tmp & " to " & Tmp2 & " is " & cFileCompressTab(Tmp, Tmp2, i) & Chr$(13)
  3116.       Tmp1 = Tmp1 & "File ExpandTab (" & i & " spaces = 1 tab) " & Tmp2 & " to " & Tmp3 & " is " & cFileExpandTab(Tmp2, Tmp3, i) & Chr$(13)
  3117.       Tmp1 = Tmp1 & "Compare file contents (not sensitive) '" & Tmp & "' with '" & Tmp3 & "' is " & IIf(cCmpFileContents(Tmp, Tmp3, False) = -1, "same", "not same") & Chr$(13) & Chr$(13)
  3118.    Next i
  3119.  
  3120.    cStartBasisTimer
  3121.    For i = 1 To Item
  3122.       j = cFileCompressTab(Tmp, Tmp2, 3)
  3123.    Next i
  3124.    j = cFileExpandTab(Tmp2, Tmp3, 3)
  3125.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3126.  
  3127.    Label3.Caption = Tmp1
  3128.  
  3129. End Sub
  3130.  
  3131. Private Sub TestFileCopy()
  3132.  
  3133.    Dim Title      As String
  3134.    Dim Tmp        As String
  3135.    Dim Tmp1       As String
  3136.    Dim Tmp2       As String
  3137.    Dim i          As Integer
  3138.    Dim j          As Long
  3139.    
  3140.    Tmp1 = ""
  3141.    Tmp = "c:\autoexec.bat"
  3142.    Tmp2 = "c:\autoexec.tab"
  3143.  
  3144.    Tmp1 = Tmp1 & "File Copy " & Tmp & " to " & Tmp2 & " is " & cFileCopy(Tmp, Tmp2) & Chr$(13) & Chr$(13)
  3145.  
  3146.    cStartBasisTimer
  3147.    For i = 1 To Item
  3148.       j = cFileCopy(Tmp, Tmp2)
  3149.    Next i
  3150.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3151.  
  3152.    Label3.Caption = Tmp1
  3153.  
  3154. End Sub
  3155.  
  3156. Private Sub TestFileCRC32()
  3157.  
  3158.    Dim Title      As String
  3159.    Dim Tmp        As String
  3160.    Dim Tmp1       As String
  3161.    Dim Tmp2       As String
  3162.    Dim i          As Integer
  3163.    Dim j          As Integer
  3164.    Dim k          As Long
  3165.    
  3166.    Tmp = "c:\config.sys"
  3167.    Title = "CRC32 for file '" & Tmp & "' is "
  3168.  
  3169.    Tmp1 = Tmp1 & Title & Hex$(cFileCRC32(Tmp, OPEN_MODE_BINARY)) & Chr$(13) & Chr$(13)
  3170.  
  3171.    Tmp = "c:\autoexec.bat"
  3172.    Title = "CRC32 for file '" & Tmp & "' is "
  3173.  
  3174.    Tmp1 = Tmp1 & Title & Hex$(cFileCRC32(Tmp, OPEN_MODE_BINARY)) & Chr$(13) & Chr$(13)
  3175.  
  3176.    Tmp = "c:\command.com"
  3177.    Title = "CRC32 for file '" & Tmp & "' is "
  3178.  
  3179.    Tmp1 = Tmp1 & Title & Hex$(cFileCRC32(Tmp, OPEN_MODE_BINARY)) & Chr$(13) & Chr$(13)
  3180.  
  3181.    cStartBasisTimer
  3182.    For i = 1 To ItemFile
  3183.       k = cFileCRC32(Tmp, OPEN_MODE_BINARY)
  3184.    Next i
  3185.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3186.  
  3187.    Label3.Caption = Tmp1
  3188.  
  3189. End Sub
  3190.  
  3191. Private Sub TestFileEncrypt()
  3192.  
  3193.    Dim Title      As String
  3194.    Dim Tmp        As String
  3195.    Dim Tmp1       As String
  3196.    Dim Tmp2       As String
  3197.    Dim Tmp3       As String
  3198.    Dim Tmp4       As String
  3199.    Dim i          As Integer
  3200.    Dim j          As Long
  3201.    
  3202.    Tmp1 = ""
  3203.    Tmp = "c:\autoexec.bat"
  3204.    Tmp2 = "c:\ac.tb1"
  3205.    Tmp3 = "c:\ac.tb2"
  3206.    Tmp4 = cToHexa(Format$(76543210))
  3207.  
  3208.    For i = ENCRYPT_LEVEL_0 To ENCRYPT_LEVEL_4
  3209.       Tmp1 = Tmp1 & "Encrypt (level " & i & ") '" & Tmp & "' with '?' to '" & Tmp2 & "' is " & cFileEncrypt(Tmp, Tmp2, Tmp4, i) & Chr$(13)
  3210.       Tmp1 = Tmp1 & "Decrypt (level " & i & ") '" & Tmp2 & "' with '?' to '" & Tmp3 & "' is " & cFileDecrypt(Tmp2, Tmp3, Tmp4, i) & Chr$(13)
  3211.       Tmp1 = Tmp1 & "Compare (ns) '" & Tmp & "' with '" & Tmp3 & "' is " & IIf(cCmpFileContents(Tmp, Tmp3, False) = -1, "same", "not same") & Chr$(13) & Chr$(13)
  3212.    Next i
  3213.  
  3214.    cStartBasisTimer
  3215.    For i = 1 To Item
  3216.       j = cFileEncrypt(Tmp, Tmp2, Tmp4, ENCRYPT_LEVEL_3)
  3217.    Next i
  3218.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3219.  
  3220.    Label3.Caption = Tmp1
  3221.  
  3222. End Sub
  3223.  
  3224. Private Sub TestFileFilter()
  3225.  
  3226.    Dim Title      As String
  3227.    Dim Tmp        As String
  3228.    Dim Tmp1       As String
  3229.    Dim Tmp2       As String
  3230.    Dim Tmp3       As String
  3231.    Dim i          As Integer
  3232.    Dim j          As Long
  3233.    
  3234.    Tmp1 = ""
  3235.    Tmp = "c:\autoexec.bat"
  3236.    Tmp2 = "c:\autoexec.tab"
  3237.    
  3238.    Tmp3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  3239.    Tmp3 = Tmp3 + LCase$(Tmp)
  3240.  
  3241.    Tmp1 = Tmp1 & "File Filter (A-Z, a-z) " & Tmp & " to " & Tmp2 & " is " & cFileFilter(Tmp, Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  3242.  
  3243.    cStartBasisTimer
  3244.    For i = 1 To Item
  3245.       j = cFileFilter(Tmp, Tmp2, Tmp3)
  3246.    Next i
  3247.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3248.  
  3249.    Label3.Caption = Tmp1
  3250.  
  3251. End Sub
  3252.  
  3253. Private Sub TestFileFilterNot()
  3254.  
  3255.    Dim Title      As String
  3256.    Dim Tmp        As String
  3257.    Dim Tmp1       As String
  3258.    Dim Tmp2       As String
  3259.    Dim Tmp3       As String
  3260.    Dim i          As Integer
  3261.    Dim j          As Long
  3262.    
  3263.    Tmp1 = ""
  3264.    Tmp = "c:\autoexec.bat"
  3265.    Tmp2 = "c:\autoexec.tab"
  3266.  
  3267.    Tmp3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  3268.    Tmp3 = Tmp3 + LCase$(Tmp) + " =" + Chr$(13) + Chr$(10)
  3269.    
  3270.    Tmp1 = Tmp1 & "File Filter Not in (A-Z, a-z, CR, LF, SPACE, =) " & Tmp & " to " & Tmp2 & " is " & cFileFilterNot(Tmp, Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  3271.  
  3272.    cStartBasisTimer
  3273.    For i = 1 To Item
  3274.       j = cFileFilterNot(Tmp, Tmp2, Tmp3)
  3275.    Next i
  3276.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3277.  
  3278.    Label3.Caption = Tmp1
  3279.  
  3280. End Sub
  3281.  
  3282. Private Sub TestFileGetAttrib()
  3283.  
  3284.    Dim Title      As String
  3285.    Dim Tmp        As String
  3286.    Dim Tmp1       As String
  3287.    Dim Tmp2       As String
  3288.    Dim i          As Integer
  3289.    Dim j          As Integer
  3290.    
  3291.    Dim FileAttrib As FileAttributeType
  3292.  
  3293.    Tmp1 = ""
  3294.  
  3295.    Tmp = cFilesInDirectory("*.*", True)
  3296.    j = cFileGetAttrib(Tmp, FileAttrib)
  3297.  
  3298.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3299.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3300.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3301.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.SubDir, " is SubDir", " is not SubDir") & Chr$(13)
  3302.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3303.  
  3304.    Tmp = cSubDirectory("*.*", True)
  3305.    Tmp = cSubDirectory("*.*", False)
  3306.    Tmp = cSubDirectory("*.*", False)
  3307.    j = cFileGetAttrib(Tmp, FileAttrib)
  3308.  
  3309.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3310.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3311.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3312.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.SubDir, " is SubDir", " is not SubDir") & Chr$(13)
  3313.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3314.  
  3315.    cStartBasisTimer
  3316.    For i = 1 To Item
  3317.       j = cFileGetAttrib(Tmp, FileAttrib)
  3318.    Next i
  3319.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3320.  
  3321.    Label3.Caption = Tmp1
  3322.  
  3323. End Sub
  3324.  
  3325. Private Sub TestFileLineCount()
  3326.  
  3327.    Dim Title      As String
  3328.    Dim Tmp        As String
  3329.    Dim Tmp1       As String
  3330.    Dim Tmp2       As String
  3331.    Dim Tmp3       As String
  3332.    Dim i          As Integer
  3333.    Dim j          As Long
  3334.    
  3335.    Tmp1 = ""
  3336.  
  3337.    Tmp = "C:\AUTOEXEC.BAT"
  3338.    Tmp1 = Tmp1 & "Total lines in '" & Tmp & "' are " & cFileLineCount(Tmp) & Chr$(13) & Chr$(13)
  3339.  
  3340.    Tmp = "C:\CONFIG.SYS"
  3341.    Tmp1 = Tmp1 & "Total lines in '" & Tmp & "' are " & cFileLineCount(Tmp) & Chr$(13) & Chr$(13)
  3342.  
  3343.    cStartBasisTimer
  3344.    For i = 1 To Item
  3345.       j = cFileLineCount(Tmp)
  3346.    Next i
  3347.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3348.  
  3349.    Label3.Caption = Tmp1
  3350.  
  3351. End Sub
  3352.  
  3353. Private Sub TestFileMerge()
  3354.  
  3355.    Dim Title      As String
  3356.    Dim Tmp        As String
  3357.    Dim Tmp1       As String
  3358.    Dim Tmp2       As String
  3359.    Dim Tmp3       As String
  3360.    Dim i          As Integer
  3361.    Dim j          As Long
  3362.    
  3363.    Tmp1 = ""
  3364.    Tmp = "c:\autoexec.bat"
  3365.    Tmp2 = "c:\config.sys"
  3366.    Tmp3 = "c:\merge.byt"
  3367.    
  3368.    Tmp1 = Tmp1 & "File Merge '" & Tmp & "' and '" & Tmp2 & "' to '" & Tmp3 & "' is " & cFileMerge(Tmp, Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  3369.  
  3370.    cStartBasisTimer
  3371.    For i = 1 To Item
  3372.       j = cFileMerge(Tmp, Tmp2, Tmp3)
  3373.    Next i
  3374.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3375.  
  3376.    Label3.Caption = Tmp1
  3377.  
  3378. End Sub
  3379.  
  3380. Private Sub TestFilePathExists()
  3381.  
  3382.    Dim Title      As String
  3383.    Dim Tmp        As String
  3384.    Dim Tmp1       As String
  3385.    Dim Tmp2       As String
  3386.    Dim i          As Integer
  3387.    Dim j          As Integer
  3388.    
  3389.  
  3390.    Tmp1 = "File t2win-16.dll " & IIf(cFilePathExists("t2win-16.dll") = True, "found", "not found") & Chr$(13) & Chr$(13)
  3391.  
  3392.    Tmp1 = Tmp1 & "Path \windows " & IIf(cFilePathExists("\windows") = True, "found", "not found") & Chr$(13) & Chr$(13)
  3393.  
  3394.    Tmp1 = Tmp1 & "Path \windows\wintime " & IIf(cFilePathExists("\windows\wintime") = True, "found", "not found") & Chr$(13) & Chr$(13)
  3395.  
  3396.    cStartBasisTimer
  3397.    For i = 1 To Item
  3398.       j = cFilePathExists("t2win-16.dll")
  3399.    Next i
  3400.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3401.  
  3402.    Label3.Caption = Tmp1
  3403.  
  3404. End Sub
  3405.  
  3406. Private Sub TestFileResetAllAttrib()
  3407.  
  3408.    Dim Title      As String
  3409.    Dim Tmp        As String
  3410.    Dim Tmp1       As String
  3411.    Dim Tmp2       As String
  3412.    Dim i          As Integer
  3413.    Dim j          As Integer
  3414.    
  3415.    Dim FileAttrib As FileAttributeType
  3416.  
  3417.    Tmp1 = ""
  3418.    Tmp = "TEST.DAT"
  3419.  
  3420.    Call CreateFile
  3421.  
  3422.    FileAttrib.Archive = False
  3423.    FileAttrib.Hidden = True
  3424.    FileAttrib.ReadOnly = True
  3425.    FileAttrib.System = True
  3426.  
  3427.    j = cFileResetAllAttrib(Tmp)
  3428.    j = cFileGetAttrib(Tmp, FileAttrib)
  3429.  
  3430.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  3431.    Tmp1 = Tmp1 & " flag archive" & Chr$(13)
  3432.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13)
  3433.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13)
  3434.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  3435.  
  3436.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3437.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3438.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3439.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3440.  
  3441.    cStartBasisTimer
  3442.    For i = 1 To ItemFile
  3443.       j = cFileResetAllAttrib(Tmp)
  3444.    Next i
  3445.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3446.  
  3447.    Label3.Caption = Tmp1
  3448.  
  3449. End Sub
  3450.  
  3451. Private Sub TestFileResetArchive()
  3452.  
  3453.    Dim Title      As String
  3454.    Dim Tmp        As String
  3455.    Dim Tmp1       As String
  3456.    Dim Tmp2       As String
  3457.    Dim i          As Integer
  3458.    Dim j          As Integer
  3459.    
  3460.  
  3461.    Dim nArchive   As Integer
  3462.    Dim nHidden    As Integer
  3463.    Dim nReadOnly  As Integer
  3464.    Dim nSubDir    As Integer
  3465.    Dim nSystem    As Integer
  3466.  
  3467.    Dim FileAttrib As FileAttributeType
  3468.  
  3469.    Tmp1 = ""
  3470.    Tmp = "TEST.DAT"
  3471.  
  3472.    Call CreateFile
  3473.    j = cFileSetAllAttrib(Tmp)
  3474.  
  3475.    j = cFileResetArchive(Tmp)
  3476.    j = cFileGetAttrib(Tmp, FileAttrib)
  3477.  
  3478.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  3479.    Tmp1 = Tmp1 & " flag archive" & Chr$(13) & Chr$(13)
  3480.  
  3481.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3482.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3483.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3484.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3485.  
  3486.    cStartBasisTimer
  3487.    For i = 1 To ItemFile
  3488.       j = cFileResetArchive(Tmp)
  3489.    Next i
  3490.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3491.  
  3492.    Label3.Caption = Tmp1
  3493.  
  3494. End Sub
  3495.  
  3496. Private Sub TestFileResetHidden()
  3497.  
  3498.    Dim Title      As String
  3499.    Dim Tmp        As String
  3500.    Dim Tmp1       As String
  3501.    Dim Tmp2       As String
  3502.    Dim i          As Integer
  3503.    Dim j          As Integer
  3504.    
  3505.  
  3506.    Dim nArchive   As Integer
  3507.    Dim nHidden    As Integer
  3508.    Dim nReadOnly  As Integer
  3509.    Dim nSubDir    As Integer
  3510.    Dim nSystem    As Integer
  3511.  
  3512.    Dim FileAttrib As FileAttributeType
  3513.  
  3514.    Tmp1 = ""
  3515.    Tmp = "TEST.DAT"
  3516.  
  3517.    Call CreateFile
  3518.    j = cFileSetAllAttrib(Tmp)
  3519.  
  3520.    j = cFileResetHidden(Tmp)
  3521.    j = cFileGetAttrib(Tmp, FileAttrib)
  3522.  
  3523.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  3524.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13) & Chr$(13)
  3525.  
  3526.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3527.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3528.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3529.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3530.  
  3531.    cStartBasisTimer
  3532.    For i = 1 To ItemFile
  3533.       j = cFileResetHidden(Tmp)
  3534.    Next i
  3535.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3536.  
  3537.    Label3.Caption = Tmp1
  3538.  
  3539. End Sub
  3540.  
  3541. Private Sub TestFileResetReadOnly()
  3542.  
  3543.    Dim Title      As String
  3544.    Dim Tmp        As String
  3545.    Dim Tmp1       As String
  3546.    Dim Tmp2       As String
  3547.    Dim i          As Integer
  3548.    Dim j          As Integer
  3549.    
  3550.    Dim FileAttrib As FileAttributeType
  3551.    Dim nArchive   As Integer
  3552.    Dim nHidden    As Integer
  3553.    Dim nReadOnly  As Integer
  3554.    Dim nSubDir    As Integer
  3555.    Dim nSystem    As Integer
  3556.  
  3557.    Tmp1 = ""
  3558.    Tmp = "TEST.DAT"
  3559.  
  3560.    Call CreateFile
  3561.    j = cFileSetAllAttrib(Tmp)
  3562.  
  3563.    j = cFileResetReadOnly(Tmp)
  3564.    j = cFileGetAttrib(Tmp, FileAttrib)
  3565.  
  3566.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  3567.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13) & Chr$(13)
  3568.  
  3569.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3570.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3571.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3572.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3573.  
  3574.    cStartBasisTimer
  3575.    For i = 1 To ItemFile
  3576.       j = cFileResetReadOnly(Tmp)
  3577.    Next i
  3578.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3579.  
  3580.    Label3.Caption = Tmp1
  3581.  
  3582. End Sub
  3583.  
  3584. Private Sub TestFileResetSystem()
  3585.  
  3586.    Dim Title      As String
  3587.    Dim Tmp        As String
  3588.    Dim Tmp1       As String
  3589.    Dim Tmp2       As String
  3590.    Dim i          As Integer
  3591.    Dim j          As Integer
  3592.  
  3593.    Dim FileAttrib As FileAttributeType
  3594.  
  3595.    Tmp1 = ""
  3596.    Tmp = "TEST.DAT"
  3597.  
  3598.    Call CreateFile
  3599.    j = cFileSetAllAttrib(Tmp)
  3600.  
  3601.    j = cFileResetSystem(Tmp)
  3602.    j = cFileGetAttrib(Tmp, FileAttrib)
  3603.  
  3604.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  3605.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  3606.  
  3607.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3608.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3609.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3610.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3611.  
  3612.    cStartBasisTimer
  3613.    For i = 1 To ItemFile
  3614.       j = cFileResetSystem(Tmp)
  3615.    Next i
  3616.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3617.  
  3618.    Label3.Caption = Tmp1
  3619.  
  3620. End Sub
  3621.  
  3622. Private Sub TestFileS()
  3623.  
  3624.    Dim Title      As String
  3625.    Dim Tmp        As String
  3626.    Dim Tmp1       As String
  3627.    Dim Tmp2       As String
  3628.    Dim Tmp3       As String
  3629.    Dim Tmp4       As String
  3630.    Dim i          As Integer
  3631.    Dim j          As Long
  3632.    
  3633.    Tmp1 = ""
  3634.    Tmp = "c:\autoexec.bat"
  3635.    Tmp3 = "re"
  3636.    Tmp4 = "SET"
  3637.  
  3638.    Tmp1 = Tmp1 & "File Search (insensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp3, False) & Chr$(13) & Chr$(13)
  3639.    Tmp1 = Tmp1 & "File Search and Count (insensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp3, False) & Chr$(13) & Chr$(13)
  3640.    Tmp1 = Tmp1 & "File Search (insensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp4, False) & Chr$(13) & Chr$(13)
  3641.    Tmp1 = Tmp1 & "File Search and Count (insensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp4, False) & Chr$(13) & Chr$(13)
  3642.  
  3643.    Tmp1 = Tmp1 & "File Search (sensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp3, True) & Chr$(13) & Chr$(13)
  3644.    Tmp1 = Tmp1 & "File Search and Count (sensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp3, True) & Chr$(13) & Chr$(13)
  3645.    Tmp1 = Tmp1 & "File Search (sensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp4, True) & Chr$(13) & Chr$(13)
  3646.    Tmp1 = Tmp1 & "File Search and Count (sensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp4, True) & Chr$(13) & Chr$(13)
  3647.  
  3648.    cStartBasisTimer
  3649.    For i = 1 To Item
  3650.       If ((i Mod 2) = 1) Then
  3651.          j = cFileSearch(Tmp, Tmp3, False)
  3652.       Else
  3653.          j = cFileSearchCount(Tmp, Tmp3, False)
  3654.       End If
  3655.    Next i
  3656.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3657.  
  3658.    Label3.Caption = Tmp1
  3659.  
  3660. End Sub
  3661.  
  3662. Private Sub TestFileSetAllAttrib()
  3663.  
  3664.    Dim Title      As String
  3665.    Dim Tmp        As String
  3666.    Dim Tmp1       As String
  3667.    Dim Tmp2       As String
  3668.    Dim i          As Integer
  3669.    Dim j          As Integer
  3670.    
  3671.    Dim FileAttrib As FileAttributeType
  3672.  
  3673.    Tmp1 = ""
  3674.    Tmp = "TEST.DAT"
  3675.  
  3676.    Call CreateFile
  3677.  
  3678.    j = cFileSetAllAttrib(Tmp)
  3679.    j = cFileGetAttrib(Tmp, FileAttrib)
  3680.  
  3681.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3682.    Tmp1 = Tmp1 & " flag archive" & Chr$(13)
  3683.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13)
  3684.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13)
  3685.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  3686.  
  3687.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3688.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3689.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3690.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3691.  
  3692.    cStartBasisTimer
  3693.    For i = 1 To ItemFile
  3694.       j = cFileSetAllAttrib(Tmp)
  3695.    Next i
  3696.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3697.  
  3698.    Label3.Caption = Tmp1
  3699.  
  3700. End Sub
  3701.  
  3702. Private Sub TestFileSetArchive()
  3703.  
  3704.    Dim Title      As String
  3705.    Dim Tmp        As String
  3706.    Dim Tmp1       As String
  3707.    Dim Tmp2       As String
  3708.    Dim i          As Integer
  3709.    Dim j          As Integer
  3710.    
  3711.    Dim FileAttrib As FileAttributeType
  3712.  
  3713.    Tmp1 = ""
  3714.    Tmp = "TEST.DAT"
  3715.  
  3716.    Call CreateFile
  3717.  
  3718.    j = cFileSetArchive(Tmp)
  3719.    j = cFileGetAttrib(Tmp, FileAttrib)
  3720.  
  3721.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3722.    Tmp1 = Tmp1 & " flag archive" & Chr$(13) & Chr$(13)
  3723.  
  3724.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3725.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3726.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3727.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3728.  
  3729.    cStartBasisTimer
  3730.    For i = 1 To ItemFile
  3731.       j = cFileSetArchive(Tmp)
  3732.    Next i
  3733.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3734.  
  3735.    Label3.Caption = Tmp1
  3736.  
  3737. End Sub
  3738.  
  3739. Private Sub TestFileSetAttrib()
  3740.  
  3741.    Dim Title      As String
  3742.    Dim Tmp        As String
  3743.    Dim Tmp1       As String
  3744.    Dim Tmp2       As String
  3745.    Dim i          As Integer
  3746.    Dim j          As Integer
  3747.    
  3748.    Dim FileAttrib As FileAttributeType
  3749.  
  3750.    Tmp1 = ""
  3751.    Tmp = "TEST.DAT"
  3752.  
  3753.    Call CreateFile
  3754.  
  3755.    FileAttrib.Archive = False
  3756.    FileAttrib.Hidden = True
  3757.    FileAttrib.ReadOnly = True
  3758.    FileAttrib.System = True
  3759.  
  3760.    j = cFileSetAttrib(Tmp, FileAttrib)
  3761.    j = cFileGetAttrib(Tmp, FileAttrib)
  3762.  
  3763.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3764.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13)
  3765.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13)
  3766.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  3767.  
  3768.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3769.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3770.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3771.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3772.  
  3773.    cStartBasisTimer
  3774.    For i = 1 To ItemFile
  3775.       j = cFileSetAttrib(Tmp, FileAttrib)
  3776.    Next i
  3777.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3778.  
  3779.    Label3.Caption = Tmp1
  3780.  
  3781. End Sub
  3782.  
  3783. Private Sub TestFileSetHidden()
  3784.  
  3785.    Dim Title      As String
  3786.    Dim Tmp        As String
  3787.    Dim Tmp1       As String
  3788.    Dim Tmp2       As String
  3789.    Dim i          As Integer
  3790.    Dim j          As Integer
  3791.    
  3792.    Dim FileAttrib As FileAttributeType
  3793.  
  3794.    Tmp1 = ""
  3795.    Tmp = "TEST.DAT"
  3796.  
  3797.    Call CreateFile
  3798.  
  3799.    j = cFileSetHidden(Tmp)
  3800.    j = cFileGetAttrib(Tmp, FileAttrib)
  3801.  
  3802.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3803.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13) & Chr$(13)
  3804.  
  3805.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3806.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3807.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3808.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3809.  
  3810.    cStartBasisTimer
  3811.    For i = 1 To ItemFile
  3812.       j = cFileSetHidden(Tmp)
  3813.    Next i
  3814.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3815.  
  3816.    Label3.Caption = Tmp1
  3817.  
  3818. End Sub
  3819.  
  3820. Private Sub TestFileSetReadOnly()
  3821.  
  3822.    Dim Title      As String
  3823.    Dim Tmp        As String
  3824.    Dim Tmp1       As String
  3825.    Dim Tmp2       As String
  3826.    Dim i          As Integer
  3827.    Dim j          As Integer
  3828.    
  3829.    Dim FileAttrib As FileAttributeType
  3830.  
  3831.    Tmp1 = ""
  3832.    Tmp = "TEST.DAT"
  3833.  
  3834.    Call CreateFile
  3835.  
  3836.    j = cFileSetReadOnly(Tmp)
  3837.    j = cFileGetAttrib(Tmp, FileAttrib)
  3838.  
  3839.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3840.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13) & Chr$(13)
  3841.  
  3842.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3843.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3844.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3845.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3846.  
  3847.    cStartBasisTimer
  3848.    For i = 1 To ItemFile
  3849.       j = cFileSetReadOnly(Tmp)
  3850.    Next i
  3851.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3852.  
  3853.    Label3.Caption = Tmp1
  3854.  
  3855. End Sub
  3856.  
  3857. Private Sub TestFileSetSystem()
  3858.  
  3859.    Dim Title      As String
  3860.    Dim Tmp        As String
  3861.    Dim Tmp1       As String
  3862.    Dim Tmp2       As String
  3863.    Dim i          As Integer
  3864.    Dim j          As Integer
  3865.    
  3866.    Dim FileAttrib As FileAttributeType
  3867.  
  3868.    Tmp1 = ""
  3869.    Tmp = "TEST.DAT"
  3870.  
  3871.    Call CreateFile
  3872.  
  3873.    j = cFileSetSystem(Tmp)
  3874.    j = cFileGetAttrib(Tmp, FileAttrib)
  3875.  
  3876.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3877.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  3878.  
  3879.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3880.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3881.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3882.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3883.  
  3884.    cStartBasisTimer
  3885.    For i = 1 To ItemFile
  3886.       j = cFileSetSystem(Tmp)
  3887.    Next i
  3888.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3889.  
  3890.    Label3.Caption = Tmp1
  3891.  
  3892. End Sub
  3893.  
  3894. Private Sub TestFilesInDirectory()
  3895.  
  3896.    Dim Title      As String
  3897.    Dim Tmp        As String
  3898.    Dim Tmp1       As String
  3899.    Dim Tmp2       As String
  3900.    Dim i          As Integer
  3901.    Dim j          As Integer
  3902.    Dim k          As Long
  3903.  
  3904.    Title = "The 10 first files in this directory are" & Chr$(13) & Chr$(13)
  3905.  
  3906.    Tmp1 = Title
  3907.    Tmp2 = cFilesInDirectory("*.*", True)
  3908.    For i = 1 To 10
  3909.       Tmp1 = Tmp1 & Tmp2 & Chr$(13)
  3910.       Tmp2 = cFilesInDirectory("*.*", False)
  3911.    Next i
  3912.  
  3913.    Tmp1 = Tmp1 & Chr$(13)
  3914.  
  3915.    cStartBasisTimer
  3916.    For i = 1 To Item
  3917.       Tmp = cFilesInDirectory("*.*", True)
  3918.    Next i
  3919.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3920.  
  3921.    Label3.Caption = Tmp1
  3922.  
  3923. End Sub
  3924.  
  3925. Private Sub TestFilesInDirOnDisk()
  3926.  
  3927.    Dim Title      As String
  3928.    Dim Tmp        As String
  3929.    Dim Tmp1       As String
  3930.    Dim Tmp2       As String
  3931.    Dim i          As Integer
  3932.    Dim j          As Integer
  3933.    Dim k          As Long
  3934.  
  3935.    j = cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ALL)
  3936.    
  3937.    Tmp1 = "The files (any attributes) in 'C:\' are (" & j & ") see first list" & Chr$(13) & Chr$(13)
  3938.  
  3939.    j = cFileToListBox(List1.hWnd, "c:\test.tmp")
  3940.  
  3941.    j = cFilesInDirOnDisk("c:\test1.tmp", "c:\*.*", -A_ARCH)
  3942.    
  3943.    Tmp1 = Tmp1 & "The files (only archive, not other attribute) in 'C:\' are (" & j & ") see second list" & Chr$(13) & Chr$(13)
  3944.  
  3945.    j = cFileToListBox(List2.hWnd, "c:\test1.tmp")
  3946.  
  3947.    Tmp1 = Tmp1 & "Number of files (with at least one of the following attribute)" & Chr$(13) & Chr$(13)
  3948.  
  3949.    Tmp1 = Tmp1 & "Any : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ALL) & Chr$(13)
  3950.    Tmp1 = Tmp1 & "(N)ormal : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_NORMAL) & Chr$(13)
  3951.    Tmp1 = Tmp1 & "(A)rchive, (N)ormal : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_NORMAL_ARCHIVE) & Chr$(13)
  3952.    Tmp1 = Tmp1 & "(A)rchive : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ARCH) & Chr$(13)
  3953.    Tmp1 = Tmp1 & "(A)rchive, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ARCH Or A_RDONLY) & Chr$(13)
  3954.    Tmp1 = Tmp1 & "(S)ystem, (H)idden, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_SYSTEM Or A_HIDDEN Or A_RDONLY) & Chr$(13)
  3955.    Tmp1 = Tmp1 & "(H)idden, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_HIDDEN Or A_RDONLY) & Chr$(13)
  3956.    Tmp1 = Tmp1 & "(R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_RDONLY) & Chr$(13)
  3957.    Tmp1 = Tmp1 & Chr$(13)
  3958.  
  3959.    Tmp1 = Tmp1 & "Number of files (with exact attribute excluding all others)" & Chr$(13) & Chr$(13)
  3960.  
  3961.    Tmp1 = Tmp1 & "(N)ormal : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_NORMAL)) & Chr$(13)
  3962.    Tmp1 = Tmp1 & "(A)rchive : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_ARCH)) & Chr$(13)
  3963.    Tmp1 = Tmp1 & "(A)rchive, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_ARCH Or A_RDONLY)) & Chr$(13)
  3964.    Tmp1 = Tmp1 & "(S)ystem, (H)idden, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_SYSTEM Or A_HIDDEN Or A_RDONLY)) & Chr$(13)
  3965.    Tmp1 = Tmp1 & "(H)idden, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_HIDDEN Or A_RDONLY)) & Chr$(13)
  3966.    Tmp1 = Tmp1 & "(R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_RDONLY)) & Chr$(13)
  3967.    Tmp1 = Tmp1 & Chr$(13)
  3968.  
  3969.    cStartBasisTimer
  3970.    For i = 1 To Item
  3971.       j = cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ALL)
  3972.    Next i
  3973.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3974.  
  3975.    Label3.Caption = Tmp1
  3976.  
  3977. End Sub
  3978.  
  3979. Private Sub TestFilesInDirToArray()
  3980.  
  3981.    Dim Title      As String
  3982.    Dim Tmp        As String
  3983.    Dim Tmp1       As String
  3984.    Dim Tmp2       As String
  3985.    Dim i          As Long
  3986.  
  3987.    Dim r          As Integer
  3988.  
  3989.    Dim m1         As Integer
  3990.    Dim m2         As Integer
  3991.  
  3992.    m1 = -999
  3993.    m2 = 1000
  3994.  
  3995.    ReDim AD(m1 To m2) As String
  3996.    
  3997.    ' initialization because we use ReDim without Global definition
  3998.    'For i = m1 To m2
  3999.    '   AD(i) = Space$(256)
  4000.    'Next i
  4001.  
  4002.    r = cFilesInDirToArray("C:\*.*", A_ALL, AD())
  4003.  
  4004.    Tmp1 = "Reading directory 'C:\*.*' into AD(" & m1 & " To " & m2 & ") is '" & r & "'" & Chr$(13)
  4005.  
  4006.    Tmp1 = Tmp1 & "   The 3 (on " & r & ") first files in array are : " & Chr$(13) & Chr$(13)
  4007.  
  4008.    For i = 0 To 2
  4009.       Tmp1 = Tmp1 & AD(m1 + i) & Chr$(13)
  4010.    Next i
  4011.  
  4012.    Tmp1 = Tmp1 & Chr$(13)
  4013.  
  4014.    Tmp1 = Tmp1 & "   The 3 (on " & r & ") last files in array are : " & Chr$(13) & Chr$(13)
  4015.  
  4016.    For i = 0 To 2
  4017.       Tmp1 = Tmp1 & AD(m1 + r - 1 - 2 + i) & Chr$(13)
  4018.    Next i
  4019.  
  4020.    Tmp1 = Tmp1 & Chr$(13)
  4021.  
  4022.    r = cArrayToListBox(List1.hWnd, AD())
  4023.  
  4024.    Tmp2 = cGetDefaultCurrentDir()
  4025.  
  4026.    r = cFilesInDirToArray("*.*", A_ALL, AD())
  4027.  
  4028.    Tmp1 = Tmp1 & "Reading directory '" & Tmp2 & "' into AD(" & m1 & " To " & m2 & ") is '" & r & "'" & Chr$(13)
  4029.    Tmp1 = Tmp1 & "   The 3 (on " & r & ") first files in array are : " & Chr$(13) & Chr$(13)
  4030.  
  4031.    For i = 0 To 2
  4032.       Tmp1 = Tmp1 & AD(m1 + i) & Chr$(13)
  4033.    Next i
  4034.  
  4035.    Tmp1 = Tmp1 & Chr$(13)
  4036.  
  4037.    Tmp1 = Tmp1 & "   The 3 (on " & r & ") last files in array are : " & Chr$(13) & Chr$(13)
  4038.  
  4039.    For i = 0 To 2
  4040.       Tmp1 = Tmp1 & AD(m1 + r - 1 - 2 + i) & Chr$(13)
  4041.    Next i
  4042.  
  4043.    r = cArrayToListBox(List2.hWnd, AD())
  4044.  
  4045.    cStartBasisTimer
  4046.    For i = 1 To Item
  4047.       r = cFilesInDirToArray("C:\*.*", A_ALL, AD())
  4048.    Next i
  4049.    Tmp1 = Tmp1 & Chr$(13) & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4050.  
  4051.    Label3.Caption = Tmp1
  4052.  
  4053. End Sub
  4054.  
  4055. Private Sub TestFilesInfoInDir()
  4056.  
  4057.    Dim Title      As String
  4058.    Dim Tmp        As String
  4059.    Dim Tmp1       As String
  4060.    Dim Tmp2       As String
  4061.    Dim i          As Integer
  4062.    Dim j          As Integer
  4063.    Dim k          As Long
  4064.    Dim FI         As tagFILEINFO
  4065.  
  4066.    Title = "The 7 first files in the current directory '" & cGetDefaultCurrentDir() & "' are" & Chr$(13) & Chr$(13)
  4067.    
  4068.    Tmp1 = Title
  4069.    Tmp2 = cFilesInfoInDir("*.*", FI, True)
  4070.    For i = 1 To 7
  4071.       Tmp1 = Tmp1 & Tmp2 & ", " & FI.fSize & ", " & FI.fDate & ", " & FI.fTime & ", " & FI.fAttribute & Chr$(13)
  4072.       Tmp2 = cFilesInfoInDir("*.*", FI, False)
  4073.    Next i
  4074.  
  4075.    Tmp1 = Tmp1 & Chr$(13)
  4076.  
  4077.    cStartBasisTimer
  4078.    For i = 1 To Item
  4079.       Tmp = cFilesInfoInDir("*.*", FI, True)
  4080.    Next i
  4081.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4082.  
  4083.    Label3.Caption = Tmp1
  4084.  
  4085. End Sub
  4086.  
  4087. Private Sub TestFileSize()
  4088.  
  4089.    Dim Title      As String
  4090.    Dim Tmp        As String
  4091.    Dim Tmp1       As String
  4092.    Dim Tmp2       As String
  4093.    Dim i          As Integer
  4094.    Dim j          As Integer
  4095.    Dim k          As Long
  4096.  
  4097.    Tmp1 = "File size for t2win-16.dll is " & cFileSize("t2win-16.dll") & Chr$(13) & Chr$(13)
  4098.  
  4099.    Tmp1 = Tmp1 & "File size for Path \windows " & cFileSize("\windows") & Chr$(13) & Chr$(13)
  4100.  
  4101.    Tmp1 = Tmp1 & "File size for Path \windows\wintime " & cFileSize("\windows\wintime") & Chr$(13) & Chr$(13)
  4102.  
  4103.    cStartBasisTimer
  4104.    For i = 1 To Item
  4105.       k = cFileSize("t2win-16.dll")
  4106.    Next i
  4107.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4108.  
  4109.    Label3.Caption = Tmp1
  4110.  
  4111. End Sub
  4112.  
  4113. Private Sub TestFileSort(SortMethod As Integer, VarFix As Integer)
  4114.  
  4115.    Dim Title      As String
  4116.    Dim Tmp        As String
  4117.    Dim Tmp1       As String
  4118.    Dim Tmp2       As String
  4119.    Dim Tmp3       As String
  4120.    Dim i          As Integer
  4121.    Dim j          As Integer
  4122.    Dim N          As Integer
  4123.    Dim m          As Double
  4124.  
  4125.    Tmp = "c:\autoexec.bat"
  4126.    Tmp2 = "c:\ae" & Format$(SortMethod) & ".tab"
  4127.  
  4128.    Close #1
  4129.    Open Tmp For Input Shared As #1
  4130.    While Not EOF(1)
  4131.       Line Input #1, Tmp3
  4132.       List1.AddItem Tmp3
  4133.    Wend
  4134.    Close #1
  4135.  
  4136.    If (VarFix = False) Then
  4137.       j = cFileSort("c:\autoexec.bat", Tmp2, SortMethod, -1, -1, -1, N)
  4138.    Else
  4139.       'j = cFileSort("c:\autoexec.bat", Tmp2, SortMethod, 20, 0, 10, n)
  4140.       j = cFileSort("c:\tmp\_dat_hr.Dat", "c:\tmp\tmp" & SortMethod & ".tmp", SortMethod, 50, 0, 11, N)
  4141.    End If
  4142.  
  4143.    Close #1
  4144.    Open Tmp2 For Input Shared As #1
  4145.    While Not EOF(1)
  4146.       Line Input #1, Tmp3
  4147.       List2.AddItem Tmp3
  4148.    Wend
  4149.    Close #1
  4150.  
  4151.    Select Case SortMethod
  4152.       Case (SORT_ASCENDING + SORT_CASE_SENSITIVE):
  4153.          Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in ASC and CS is '" & j & "' and records are '" & N & "'"
  4154.       Case (SORT_DESCENDING + SORT_CASE_SENSITIVE):
  4155.          Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in DSC and CS is '" & j & "' and records are '" & N & "'"
  4156.       Case (SORT_ASCENDING + SORT_CASE_INSENSITIVE):
  4157.          Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in ASC and NS is '" & j & "' and records are '" & N & "'"
  4158.       Case (SORT_DESCENDING + SORT_CASE_INSENSITIVE):
  4159.          Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in DSC and NS is '" & j & "' and records are '" & N & "'"
  4160.    End Select
  4161.  
  4162.    Tmp1 = Tmp1 & Chr$(13) & Chr$(13)
  4163.    
  4164.    cStartBasisTimer
  4165.    For i = 1 To ItemFile
  4166.       j = cFileSort(Tmp, Tmp2, SortMethod, -1, -1, -1, N)
  4167.       DoEvents
  4168.    Next i
  4169.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4170.  
  4171.    Label3.Caption = Tmp1
  4172.  
  4173. End Sub
  4174.  
  4175. Private Sub TestFileSR()
  4176.  
  4177.    Dim Title      As String
  4178.    Dim Tmp        As String
  4179.    Dim Tmp1       As String
  4180.    Dim Tmp2       As String
  4181.    Dim Tmp3       As String
  4182.    Dim Tmp4       As String
  4183.    Dim i          As Integer
  4184.    Dim j          As Long
  4185.    
  4186.    Tmp1 = ""
  4187.    Tmp = "c:\autoexec.bat"
  4188.    Tmp2 = "c:\autoexec.tab"
  4189.    Tmp3 = "SET "
  4190.    Tmp4 = "rem SET "
  4191.  
  4192.    Tmp1 = Tmp1 & "File Copy " & Tmp & " to " & Tmp2 & " is " & cFileCopy(Tmp, Tmp2) & Chr$(13) & Chr$(13)
  4193.    Tmp1 = Tmp1 & "File Search-Replace (insensitive) : '" & Tmp3 & "' -> '" & Tmp4 & "' in '" & Tmp2 & "' is " & cFileSearchAndReplace(Tmp2, Tmp3, Tmp4, "c:\tmp.tmp", False) & Chr$(13) & Chr$(13)
  4194.    Tmp1 = Tmp1 & "File Search-Replace (sensitive) : '" & Tmp4 & "' -> '" & Tmp3 & "' in '" & Tmp2 & "' is " & cFileSearchAndReplace(Tmp2, Tmp4, Tmp3, "c:\tmp.tmp", True) & Chr$(13) & Chr$(13)
  4195.    Tmp1 = Tmp1 & "Compare file contents (insensitive) " & Tmp2 & " with " & Tmp & " is " & IIf(cCmpFileContents(Tmp2, Tmp, False) = True, "same", "not same") & Chr$(13) & Chr$(13)
  4196.  
  4197.    cStartBasisTimer
  4198.    For i = 1 To Item
  4199.       If ((i Mod 2) = 1) Then
  4200.          j = cFileSearchAndReplace(Tmp2, Tmp3, Tmp4, "", True)
  4201.       Else
  4202.          j = cFileSearchAndReplace(Tmp2, Tmp4, Tmp3, "", True)
  4203.       End If
  4204.    Next i
  4205.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  4206.  
  4207.    Label3.Caption = Tmp1
  4208.  
  4209. End Sub
  4210.  
  4211. Private Sub TestFilesSize()
  4212.  
  4213.    Dim Title      As String
  4214.    Dim Tmp        As String
  4215.    Dim Tmp1       As String
  4216.    Dim Tmp2       As String
  4217.    Dim i          As Integer
  4218.    Dim j          As Integer
  4219.    Dim k          As Long
  4220.    Dim Size1      As Long
  4221.    Dim Size2      As Long
  4222.  
  4223.    Tmp1 = ""
  4224.    Tmp1 = Tmp1 & "Size of files c:\*.* is " & cFilesSize("c:\*.*") & Chr$(13)
  4225.    Tmp1 = Tmp1 & "Size of files c:\*.bat is " & cFilesSize("c:\*.bat") & Chr$(13)
  4226.    Tmp1 = Tmp1 & "Size of files c:\*.sys is " & cFilesSize("c:\*.sys") & Chr$(13)
  4227.    Tmp1 = Tmp1 & "Size of files c:\*.com is " & cFilesSize("c:\*.com") & Chr$(13)
  4228.    Tmp1 = Tmp1 & Chr$(13)
  4229.    Tmp1 = Tmp1 & "Size of files c:\*.* on disk is " & cFilesSizeOnDisk("c:\*.*") & Chr$(13)
  4230.    Tmp1 = Tmp1 & "Size of files c:\*.bat on disk is " & cFilesSizeOnDisk("c:\*.bat") & Chr$(13)
  4231.    Tmp1 = Tmp1 & "Size of files c:\*.sys on disk is " & cFilesSizeOnDisk("c:\*.sys") & Chr$(13)
  4232.    Tmp1 = Tmp1 & "Size of files c:\*.com on disk is " & cFilesSizeOnDisk("c:\*.com") & Chr$(13)
  4233.    Tmp1 = Tmp1 & Chr$(13)
  4234.    Tmp1 = Tmp1 & "Slack of files c:\*.* on disk is " & cFilesSlack("c:\*.*", Size1, Size2) & " %" & Chr$(13)
  4235.    Tmp1 = Tmp1 & "Slack of files c:\*.bat on disk is " & cFilesSlack("c:\*.bat", Size1, Size2) & " %" & Chr$(13)
  4236.    Tmp1 = Tmp1 & "Slack of files c:\*.sys on disk is " & cFilesSlack("c:\*.sys", Size1, Size2) & " %" & Chr$(13)
  4237.    Tmp1 = Tmp1 & "Slack of files c:\*.com on disk is " & cFilesSlack("c:\*.com", Size1, Size2) & " %" & Chr$(13)
  4238.  
  4239.    cStartBasisTimer
  4240.    For i = 1 To 10
  4241.       k = cFilesSize("c:\*.*")
  4242.    Next i
  4243.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  4244.  
  4245.    Label3.Caption = Tmp1
  4246.  
  4247. End Sub
  4248.  
  4249. Private Sub TestFileStatictics()
  4250.  
  4251.    Dim Title      As String
  4252.    Dim Tmp        As String
  4253.    Dim Tmp1       As String
  4254.    Dim Tmp2       As String
  4255.    Dim Tmp3       As String
  4256.    Dim Tmp4       As String
  4257.    Dim i          As Integer
  4258.    Dim j          As Long
  4259.  
  4260.    Dim nL         As Long
  4261.    Dim nW         As Long
  4262.    Dim nC         As Long
  4263.  
  4264.    Tmp1 = ""
  4265.    Tmp = "c:\autoexec.bat"
  4266.    
  4267.    Tmp1 = Tmp1 & "File statictics for '" & Tmp & "' is " & cFileStatistics(Tmp, nL, nW, nC) & Chr$(13)
  4268.    Tmp1 = Tmp1 & "number of lines : " & nL & Chr$(13)
  4269.    Tmp1 = Tmp1 & "number of words : " & nW & Chr$(13)
  4270.    Tmp1 = Tmp1 & "number of chars : " & nC & Chr$(13) & Chr$(13)
  4271.  
  4272.    Tmp = "c:\config.sys"
  4273.    Tmp1 = Tmp1 & "File statictics for '" & Tmp & "' is " & cFileStatistics(Tmp, nL, nW, nC) & Chr$(13)
  4274.    Tmp1 = Tmp1 & "number of lines : " & nL & Chr$(13)
  4275.    Tmp1 = Tmp1 & "number of words : " & nW & Chr$(13)
  4276.    Tmp1 = Tmp1 & "number of chars : " & nC & Chr$(13) & Chr$(13)
  4277.  
  4278.    cStartBasisTimer
  4279.    For i = 1 To Item
  4280.       j = cFileStatistics(Tmp, nL, nW, nC)
  4281.    Next i
  4282.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  4283.  
  4284.    Label3.Caption = Tmp1
  4285.  
  4286. End Sub
  4287.  
  4288. Private Sub TestFileStatistic()
  4289.  
  4290.    Dim Title      As String
  4291.    Dim Tmp        As String
  4292.    Dim Tmp1       As String
  4293.    Dim Tmp2       As String
  4294.    Dim i          As Integer
  4295.    Dim j          As Integer
  4296.    Dim k          As Long
  4297.    
  4298.  
  4299.    Tmp1 = "File drive for t2win-16.dll is " & cFileDrive("t2win-16.dll") & Chr$(13) & Chr$(13)
  4300.  
  4301.    Tmp1 = Tmp1 & "File last time modified for t2win-16.dll is " & cFileLastTimeModified("t2win-16.dll") & Chr$(13) & Chr$(13)
  4302.  
  4303.    Tmp1 = Tmp1 & "File last date modified for t2win-16.dll is " & cFileLastDateModified("t2win-16.dll") & Chr$(13) & Chr$(13)
  4304.  
  4305.    cStartBasisTimer
  4306.    For i = 1 To ItemFile
  4307.       Tmp = cFileDrive("t2win-16.dll")
  4308.    Next i
  4309.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4310.  
  4311.    Label3.Caption = Tmp1
  4312.  
  4313. End Sub
  4314.  
  4315. Private Sub TestFileToX()
  4316.  
  4317.    Dim Title      As String
  4318.    Dim Tmp        As String
  4319.    Dim Tmp1       As String
  4320.    Dim Tmp2       As String
  4321.    Dim Tmp3       As String
  4322.    Dim i          As Integer
  4323.    Dim j          As Long
  4324.    
  4325.    Tmp1 = ""
  4326.    Tmp = "c:\autoexec.bat"
  4327.    Tmp2 = "c:\autoexec.lwr"
  4328.    Tmp3 = "c:\autoexec.upr"
  4329.  
  4330.    Tmp1 = Tmp1 & "File to lower '" & Tmp & "' to '" & Tmp2 & "' is " & cFileToLower(Tmp, Tmp2) & Chr$(13) & Chr$(13)
  4331.    Tmp1 = Tmp1 & "File to upper '" & Tmp & "' to '" & Tmp3 & "' is " & cFileToUpper(Tmp, Tmp3) & Chr$(13) & Chr$(13)
  4332.  
  4333.    cStartBasisTimer
  4334.    For i = 1 To Item
  4335.       j = cFileToLower(Tmp, Tmp2)
  4336.    Next i
  4337.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  4338.  
  4339.    Label3.Caption = Tmp1
  4340.  
  4341. End Sub
  4342.  
  4343. Private Sub TestFileVersion()
  4344.  
  4345.    Dim Title      As String
  4346.    Dim Tmp        As String
  4347.    Dim Tmp1       As String
  4348.    Dim Tmp2       As String
  4349.    Dim i          As Integer
  4350.    Dim j          As Integer
  4351.    Dim k          As Long
  4352.    Dim status                 As Integer
  4353.  
  4354.    Tmp = cGetSystemDirectory() & "\krnl386.exe"
  4355.  
  4356.    Tmp1 = Tmp1 & "File Version for '" & Tmp & "' is " & Chr$(13)
  4357.  
  4358.    For i = VER_VERSION_PRODUCT To VER_PRODUCT_VERSION
  4359.       Tmp1 = Tmp1 & "   " & i & " = " & cGetFileVersion(Tmp, i) & Chr$(13)
  4360.    Next i
  4361.  
  4362.    Tmp = cGetSystemDirectory() & "\t2win-16.dll"
  4363.  
  4364.    Tmp1 = Tmp1 & "File Version for '" & Tmp & "' is " & Chr$(13)
  4365.  
  4366.    For i = VER_VERSION_PRODUCT To VER_PRODUCT_VERSION
  4367.       Tmp1 = Tmp1 & "   " & i & " = " & cGetFileVersion(Tmp, i) & Chr$(13)
  4368.    Next i
  4369.  
  4370.  
  4371.    cStartBasisTimer
  4372.    For i = 1 To ItemFile
  4373.       Tmp = cGetFileVersion(Tmp, -1)
  4374.    Next i
  4375.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4376.  
  4377.    Label3.Caption = Tmp1
  4378.  
  4379. End Sub
  4380.  
  4381. Private Sub TestFileVersionInfo()
  4382.  
  4383.    Dim Title      As String
  4384.    Dim Tmp        As String
  4385.    Dim Tmp1       As String
  4386.    Dim Tmp2       As String
  4387.    Dim i          As Integer
  4388.    Dim j          As Integer
  4389.    Dim k          As Long
  4390.    Dim status                 As Integer
  4391.    Dim FILEVERSIONINFO     As tagFILEVERSIONINFO
  4392.  
  4393.    Tmp = cGetSystemDirectory() & "\krnl386.exe"
  4394.  
  4395.    Tmp1 = Tmp1 & "File Version Information for '" & Tmp & "' is " & Chr$(13)
  4396.  
  4397.    status = cGetFileVersionInfo(Tmp, FILEVERSIONINFO)
  4398.  
  4399.    Tmp1 = Tmp1 & "   VersionProduct = " & FILEVERSIONINFO.VersionProduct & Chr$(13)
  4400.    Tmp1 = Tmp1 & "   FileDescription = " & FILEVERSIONINFO.FileDescription & Chr$(13)
  4401.    Tmp1 = Tmp1 & "   FileVersion = " & FILEVERSIONINFO.FileVersion & Chr$(13)
  4402.    Tmp1 = Tmp1 & "   InternalName = " & FILEVERSIONINFO.InternalName & Chr$(13)
  4403.    Tmp1 = Tmp1 & "   LegalCopyright = " & FILEVERSIONINFO.LegalCopyright & Chr$(13)
  4404.    Tmp1 = Tmp1 & "   LegalTrademarks = " & FILEVERSIONINFO.LegalTrademarks & Chr$(13)
  4405.    Tmp1 = Tmp1 & "   Comments = " & FILEVERSIONINFO.Comments & Chr$(13)
  4406.    Tmp1 = Tmp1 & "   ProductName = " & FILEVERSIONINFO.ProductName & Chr$(13)
  4407.    Tmp1 = Tmp1 & "   ProductVersion = " & FILEVERSIONINFO.ProductVersion & Chr$(13) & Chr$(13)
  4408.  
  4409.    Tmp = cGetSystemDirectory() & "\t2win-16.dll"
  4410.  
  4411.    Tmp1 = Tmp1 & "File Version Information for '" & Tmp & "' is " & Chr$(13)
  4412.  
  4413.    status = cGetFileVersionInfo(Tmp, FILEVERSIONINFO)
  4414.  
  4415.    Tmp1 = Tmp1 & "   VersionProduct = " & FILEVERSIONINFO.VersionProduct & Chr$(13)
  4416.    Tmp1 = Tmp1 & "   FileDescription = " & FILEVERSIONINFO.FileDescription & Chr$(13)
  4417.    Tmp1 = Tmp1 & "   FileVersion = " & FILEVERSIONINFO.FileVersion & Chr$(13)
  4418.    Tmp1 = Tmp1 & "   InternalName = " & FILEVERSIONINFO.InternalName & Chr$(13)
  4419.    Tmp1 = Tmp1 & "   LegalCopyright = " & FILEVERSIONINFO.LegalCopyright & Chr$(13)
  4420.    Tmp1 = Tmp1 & "   LegalTrademarks = " & FILEVERSIONINFO.LegalTrademarks & Chr$(13)
  4421.    Tmp1 = Tmp1 & "   Comments = " & FILEVERSIONINFO.Comments & Chr$(13)
  4422.    Tmp1 = Tmp1 & "   ProductName = " & FILEVERSIONINFO.ProductName & Chr$(13)
  4423.    Tmp1 = Tmp1 & "   ProductVersion = " & FILEVERSIONINFO.ProductVersion & Chr$(13) & Chr$(13)
  4424.  
  4425.    cStartBasisTimer
  4426.    For i = 1 To ItemFile
  4427.       status = cGetFileVersionInfo(Tmp, FILEVERSIONINFO)
  4428.    Next i
  4429.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4430.  
  4431.    Label3.Caption = Tmp1
  4432.  
  4433. End Sub
  4434.  
  4435. Private Sub TestFill()
  4436.  
  4437.    Dim Title      As String
  4438.    Dim Tmp        As String
  4439.    Dim Tmp1       As String
  4440.    Dim Tmp2       As String
  4441.    Dim i          As Integer
  4442.    Dim j          As Integer
  4443.    
  4444.  
  4445.    Tmp = Text1.Text
  4446.    Title = "Fill of [" & Tmp & "] with [*=] is "
  4447.    Call cFill(Tmp, "*=")
  4448.  
  4449.    Tmp1 = Title & Tmp & Chr$(13) & Chr$(13)
  4450.  
  4451.    cStartBasisTimer
  4452.    For i = 1 To Item
  4453.       Call cFill(Tmp, "=*")
  4454.    Next i
  4455.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4456.  
  4457.    Label3.Caption = Tmp1
  4458.  
  4459. End Sub
  4460.  
  4461. Private Sub TestFillI()
  4462.  
  4463.    Dim Title      As String
  4464.    Dim Tmp        As String
  4465.    Dim Tmp1       As String
  4466.    Dim Tmp2       As String
  4467.    Dim i          As Integer
  4468.    Dim j          As Integer
  4469.    Dim m          As Double
  4470.    
  4471.    ReDim array(ItemMean) As Integer
  4472.    Randomize Timer
  4473.  
  4474.    For i = LBound(array) To UBound(array)
  4475.       array(i) = 0
  4476.       List1.AddItem "" & array(i)
  4477.    Next i
  4478.    
  4479.    j = cFillI(array(), 1)
  4480.  
  4481.    For i = LBound(array) To UBound(array)
  4482.       List2.AddItem "" & array(i)
  4483.    Next i
  4484.  
  4485.    Tmp1 = Tmp1 & "Fill 1 to element 1 of an integer array is : " & array(1) & Chr$(13) & Chr$(13)
  4486.    Tmp1 = Tmp1 & "Fill 1 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & Chr$(13) & Chr$(13)
  4487.  
  4488.    cStartBasisTimer
  4489.    For i = 1 To ItemFile
  4490.       j = cFillI(array(), 1)
  4491.    Next i
  4492.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4493.  
  4494.    Label3.Caption = Tmp1
  4495.  
  4496. End Sub
  4497.  
  4498. Private Sub TestFillIncrI()
  4499.  
  4500.    Dim Title      As String
  4501.    Dim Tmp        As String
  4502.    Dim Tmp1       As String
  4503.    Dim Tmp2       As String
  4504.    Dim i          As Integer
  4505.    Dim j          As Integer
  4506.    Dim m          As Double
  4507.    
  4508.    ReDim array(ItemMean) As Integer
  4509.    Randomize Timer
  4510.  
  4511.    For i = LBound(array) To UBound(array)
  4512.       array(i) = 0
  4513.       List1.AddItem "" & array(i)
  4514.    Next i
  4515.    
  4516.    j = cFillIncrI(array(), -2, 3)
  4517.  
  4518.    For i = LBound(array) To UBound(array)
  4519.       List2.AddItem "" & array(i)
  4520.    Next i
  4521.  
  4522.    Tmp1 = Tmp1 & "Fill -2 by increment 3 to element 1 of an integer array is : " & array(1) & Chr$(13) & Chr$(13)
  4523.    Tmp1 = Tmp1 & "Fill -2 by increment 3 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & Chr$(13) & Chr$(13)
  4524.  
  4525.    cStartBasisTimer
  4526.    For i = 1 To ItemFile
  4527.       j = cFillIncrI(array(), 1, 3)
  4528.    Next i
  4529.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4530.  
  4531.    Label3.Caption = Tmp1
  4532.  
  4533. End Sub
  4534.  
  4535. Private Sub TestFilterBlocks()
  4536.  
  4537.    Dim Title      As String
  4538.    Dim Tmp        As String
  4539.    Dim Tmp1       As String
  4540.    Dim Tmp2       As String
  4541.    Dim i          As Integer
  4542.    Dim j          As Integer
  4543.    
  4544.  
  4545.    Tmp = Text1.Text
  4546.    Title = "Filter blocks between '/' and '/' in [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4547.    Tmp1 = Title & cFilterBlocks(Tmp, "//") & Chr$(13) & Chr$(13)
  4548.  
  4549.    Title = "Filter blocks between 'B' and 'I' in [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4550.    Tmp1 = Tmp1 & Title & cFilterBlocks(Tmp, "BI") & Chr$(13) & Chr$(13)
  4551.  
  4552.    cStartBasisTimer
  4553.    For i = 1 To Item
  4554.       Tmp2 = cFilterBlocks(Tmp, "//")
  4555.    Next i
  4556.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4557.  
  4558.    Label3.Caption = Tmp1
  4559.  
  4560. End Sub
  4561.  
  4562. Private Sub TestFilterChars()
  4563.  
  4564.    Dim Title      As String
  4565.    Dim Tmp        As String
  4566.    Dim Tmp1       As String
  4567.    Dim Tmp2       As String
  4568.    Dim i          As Integer
  4569.    Dim j          As Integer
  4570.    
  4571.  
  4572.    Tmp = Text1.Text
  4573.    Title = "Filter 'B','/' in [" & Tmp & "] is "
  4574.    Tmp1 = Title & cFilterChars(Tmp, "B/") & Chr$(13) & Chr$(13)
  4575.  
  4576.    cStartBasisTimer
  4577.    For i = 1 To Item
  4578.       Tmp2 = cFilterChars(Tmp, "B/")
  4579.    Next i
  4580.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4581.  
  4582.    Label3.Caption = Tmp1
  4583.  
  4584. End Sub
  4585.  
  4586. Private Sub TestFindBitReset()
  4587.  
  4588.    Dim Title      As String
  4589.    Dim Tmp        As String
  4590.    Dim Tmp1       As String
  4591.    Dim Tmp2       As String
  4592.    Dim i          As Integer
  4593.    Dim j          As Integer
  4594.    
  4595.  
  4596.    Tmp = Text1.Text
  4597.    Tmp1 = "The following bits on '" & Tmp & "' are not Set (False) " & Chr$(13) & Chr$(13)
  4598.    j = True
  4599.    Do
  4600.       j = cFindBitReset(Tmp, j)
  4601.       If (j <> True) Then Tmp1 = Tmp1 & j & ", "
  4602.    Loop Until (j = True)
  4603.    Tmp1 = Left$(Tmp1, Len(Tmp1) - 1)
  4604.    Tmp1 = Tmp1 & Chr$(13) & Chr$(13)
  4605.  
  4606.    j = 0
  4607.  
  4608.    cStartBasisTimer
  4609.    For i = 1 To Item
  4610.       j = cFindBitReset(Tmp, j)
  4611.    Next i
  4612.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4613.  
  4614.    Label3.Caption = Tmp1
  4615.  
  4616. End Sub
  4617.  
  4618. Private Sub TestFindBitSet()
  4619.  
  4620.    Dim Title      As String
  4621.    Dim Tmp        As String
  4622.    Dim Tmp1       As String
  4623.    Dim Tmp2       As String
  4624.    Dim i          As Integer
  4625.    Dim j          As Integer
  4626.    
  4627.  
  4628.    Tmp = Text1.Text
  4629.    Tmp1 = "The following bits on '" & Tmp & "' are Set (True) " & Chr$(13) & Chr$(13)
  4630.    j = True
  4631.    Do
  4632.       j = cFindBitSet(Tmp, j)
  4633.       If (j <> True) Then Tmp1 = Tmp1 & j & ", "
  4634.    Loop Until (j = True)
  4635.    Tmp1 = Left$(Tmp1, Len(Tmp1) - 1)
  4636.    Tmp1 = Tmp1 & Chr$(13) & Chr$(13)
  4637.  
  4638.    j = 0
  4639.  
  4640.    cStartBasisTimer
  4641.    For i = 1 To Item
  4642.       j = cFindBitSet(Tmp, j)
  4643.    Next i
  4644.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4645.  
  4646.    Label3.Caption = Tmp1
  4647.  
  4648. End Sub
  4649.  
  4650. Private Sub TestFindFileInEnv()
  4651.  
  4652.    Dim Title      As String
  4653.    Dim Tmp        As String
  4654.    Dim Tmp1       As String
  4655.    Dim Tmp2       As String
  4656.    Dim i          As Integer
  4657.    Dim j          As Integer
  4658.  
  4659.    j = cFindFileInEnv("win.com", "windir")
  4660.    Tmp1 = "The file 'win.com' is " & IIf(j, "found", "not found") & " in the WINDIR" & Chr$(13) & Chr$(13)
  4661.    
  4662.    cStartBasisTimer
  4663.    For i = 1 To ItemFile
  4664.       j = cFindFileInEnv("win.com", "windir")
  4665.    Next i
  4666.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4667.  
  4668.    Label3.Caption = Tmp1
  4669.  
  4670. End Sub
  4671.  
  4672. Private Sub TestFindFileInPath()
  4673.  
  4674.    Dim Title      As String
  4675.    Dim Tmp        As String
  4676.    Dim Tmp1       As String
  4677.    Dim Tmp2       As String
  4678.    Dim i          As Integer
  4679.    Dim j          As Integer
  4680.  
  4681.    j = cFindFileInPath("win.com")
  4682.    Tmp1 = "The file 'win.com' is " & IIf(j, "found", "not found") & " in the PATH" & Chr$(13) & Chr$(13)
  4683.    
  4684.    cStartBasisTimer
  4685.    For i = 1 To ItemFile
  4686.       j = cFindFileInPath("win.com")
  4687.    Next i
  4688.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4689.  
  4690.    Label3.Caption = Tmp1
  4691.  
  4692. End Sub
  4693.  
  4694. Private Sub TestFloppyInfo()
  4695.  
  4696.    Dim Title      As String
  4697.    Dim Tmp        As String
  4698.    Dim Tmp1       As String
  4699.    Dim Tmp2       As String
  4700.    Dim i          As Integer
  4701.    Dim j          As Integer
  4702.  
  4703.    Dim nHds       As Integer
  4704.    Dim nCyls      As Integer
  4705.    Dim nSecs      As Integer
  4706.  
  4707.    Tmp1 = ""
  4708.    
  4709.    For i = 1 To 3
  4710.       j = cFloppyInfo(Chr$(64 + i), nHds, nCyls, nSecs)
  4711.       Tmp1 = Tmp1 & "'" & Chr$(64 + i) & ":' is " & j & " (" & nHds & "," & nCyls & "," & nSecs & ")" & Chr$(13)
  4712.    Next i
  4713.  
  4714.    Tmp1 = Tmp1 + Chr$(13)
  4715.  
  4716.    cStartBasisTimer
  4717.    For i = 1 To Item
  4718.       j = cFloppyInfo("A", nHds, nCyls, nSecs)
  4719.    Next i
  4720.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4721.  
  4722.    Label3.Caption = Tmp1
  4723.  
  4724. End Sub
  4725.  
  4726. Private Sub TestFraction()
  4727.  
  4728.    Dim Title      As String
  4729.    Dim Tmp        As String
  4730.    Dim Tmp1       As String
  4731.    Dim Tmp2       As String
  4732.    Dim i          As Integer
  4733.    Dim v          As Double
  4734.    Dim N          As Double
  4735.    Dim p          As Double
  4736.    Dim q          As Double
  4737.    Dim e          As Integer
  4738.  
  4739.    Tmp1 = "Determining fraction part (numerator/denominator) for the following value " & Chr$(13) & Chr$(13)
  4740.  
  4741.    N = 0.75
  4742.    v = cFraction(N, p, q)
  4743.    Tmp1 = Tmp1 & N & " is " & p & " / " & q & Chr$(13)
  4744.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  4745.  
  4746.    N = 4.12
  4747.    v = cFraction(N, p, q)
  4748.    Tmp1 = Tmp1 & N & " is " & p & " / " & q & Chr$(13)
  4749.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  4750.  
  4751.    N = 365.25
  4752.    v = cFraction(N, p, q)
  4753.    Tmp1 = Tmp1 & N & " is " & p & " / " & q & Chr$(13)
  4754.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  4755.  
  4756.    N = 3.14
  4757.    v = cFraction(N, p, q)
  4758.    Tmp1 = Tmp1 & N & " is " & p & " / " & q & Chr$(13)
  4759.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  4760.  
  4761.    N = 3.14159
  4762.    v = cFraction(N, p, q)
  4763.    Tmp1 = Tmp1 & N & " is " & p & " / " & q & Chr$(13)
  4764.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  4765.  
  4766.    N = 3.14159265
  4767.    v = cFraction(N, p, q)
  4768.    Tmp1 = Tmp1 & N & " is " & p & " / " & q & Chr$(13)
  4769.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  4770.  
  4771.    N = 0.9999999
  4772.    v = cFraction(N, p, q)
  4773.    Tmp1 = Tmp1 & N & " is " & p & " / " & q & Chr$(13)
  4774.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  4775.  
  4776.    cStartBasisTimer
  4777.    For i = 1 To Item
  4778.       v = cFraction(N, p, q)
  4779.    Next i
  4780.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4781.  
  4782.    Label3.Caption = Tmp1
  4783.  
  4784. End Sub
  4785.  
  4786. Private Sub TestFullPath()
  4787.  
  4788.    Dim Title      As String
  4789.    Dim Tmp        As String
  4790.    Dim Tmp1       As String
  4791.    Dim Tmp2       As String
  4792.    Dim Tmp3       As String
  4793.    Dim i          As Integer
  4794.    Dim j          As Long
  4795.    
  4796.    Tmp1 = ""
  4797.    Tmp = "C:\AUTOEXEC.BAT"
  4798.  
  4799.    Tmp1 = Tmp1 & "Full Path of " & Tmp & " is " & cFullPath(Tmp) & Chr$(13) & Chr$(13)
  4800.  
  4801.    Tmp = cGetSystemDirectory() & "\t2win-16.dll"
  4802.  
  4803.    Tmp1 = Tmp1 & "Full Path of " & Tmp & " is " & cFullPath(Tmp) & Chr$(13) & Chr$(13)
  4804.  
  4805.    Tmp = cFilesInDirectory(cGetDefaultCurrentDir() + "\*.*", True)
  4806.  
  4807.    Tmp1 = Tmp1 & "Full Path of " & Tmp & " is " & cFullPath(Tmp) & Chr$(13) & Chr$(13)
  4808.  
  4809.    cStartBasisTimer
  4810.    For i = 1 To Item
  4811.       Tmp = cFullPath(Tmp)
  4812.    Next i
  4813.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  4814.  
  4815.    Label3.Caption = Tmp1
  4816.  
  4817. End Sub
  4818.  
  4819. Private Sub TestGetBit()
  4820.  
  4821.    Dim Title      As String
  4822.    Dim Tmp        As String
  4823.    Dim Tmp1       As String
  4824.    Dim Tmp2       As String
  4825.    Dim i          As Integer
  4826.    Dim j          As Integer
  4827.    
  4828.  
  4829.    Tmp = Text1.Text
  4830.    Title = "bit 0,7,3 of [" & Tmp & "] is "
  4831.  
  4832.    Tmp1 = Title & cGetBit(Tmp, 0) & " " & cGetBit(Tmp, 7) & " " & cGetBit(Tmp, 3) & " " & Chr$(13) & Chr$(13)
  4833.  
  4834.    Title = "bit 23,30,38 of [" & Tmp & "] is "
  4835.  
  4836.    Tmp1 = Tmp1 & Title & cGetBit(Tmp, 23) & " " & cGetBit(Tmp, 30) & " " & cGetBit(Tmp, 38) & " " & Chr$(13) & Chr$(13)
  4837.  
  4838.    cStartBasisTimer
  4839.    For i = 1 To Item
  4840.       j = cGetBit(Tmp, i)
  4841.    Next i
  4842.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4843.  
  4844.    Label3.Caption = Tmp1
  4845.  
  4846. End Sub
  4847.  
  4848. Private Sub TestGetBlock()
  4849.  
  4850.    Dim Title      As String
  4851.    Dim Tmp        As String
  4852.    Dim Tmp1       As String
  4853.    Dim Tmp2       As String
  4854.    Dim i          As Integer
  4855.    Dim j          As Integer
  4856.    
  4857.  
  4858.    Tmp = Text1.Text
  4859.    Title = "The 2,4,1 of 2 chars of [" & Tmp & "] are "
  4860.  
  4861.    Tmp = Text1.Text
  4862.  
  4863.    Tmp1 = Title & "2:" & cGetBlock(Tmp, 2, 2) & " | 4:" & cGetBlock(Tmp, 4, 2) & " | 1:" & cGetBlock(Tmp, 1, 2) & Chr$(13) & Chr$(13)
  4864.  
  4865.    cStartBasisTimer
  4866.    For i = 1 To Item
  4867.       Tmp2 = cGetBlock(Tmp, 1, 2)
  4868.    Next i
  4869.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4870.  
  4871.    Label3.Caption = Tmp1
  4872.  
  4873. End Sub
  4874.  
  4875. Private Sub TestGetCurrentDrive()
  4876.  
  4877.    Dim Title      As String
  4878.    Dim Tmp        As String
  4879.    Dim Tmp1       As String
  4880.    Dim Tmp2       As String
  4881.    Dim i          As Integer
  4882.    Dim j          As Integer
  4883.    
  4884.    Tmp = cGetCurrentDrive()
  4885.    Tmp1 = Tmp & " is the current drive" & Chr$(13) & Chr$(13)
  4886.    
  4887.    cStartBasisTimer
  4888.    For i = 1 To Item
  4889.       Tmp2 = cGetCurrentDrive()
  4890.       If (Tmp <> Tmp2) Then Beep
  4891.    Next i
  4892.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4893.  
  4894.    Label3.Caption = Tmp1
  4895.  
  4896. End Sub
  4897.  
  4898. Private Sub TestGetDateSeparator()
  4899.  
  4900.    Dim Title      As String
  4901.    Dim Tmp        As String
  4902.    Dim Tmp1       As String
  4903.    Dim Tmp2       As String
  4904.    Dim i          As Integer
  4905.    Dim j          As Integer
  4906.  
  4907.    Tmp = cGetDateSeparator()
  4908.    Tmp1 = "The following char '" & Tmp & "' is the date separator" & Chr$(13) & Chr$(13)
  4909.    
  4910.    cStartBasisTimer
  4911.    For i = 1 To Item
  4912.       Tmp2 = cGetDateSeparator()
  4913.       If (Tmp <> Tmp2) Then Beep
  4914.    Next i
  4915.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4916.  
  4917.    Label3.Caption = Tmp1
  4918.  
  4919. End Sub
  4920.  
  4921. Private Sub TestGetDefaultCurrentDir()
  4922.  
  4923.    Dim Title      As String
  4924.    Dim Tmp        As String
  4925.    Dim Tmp1       As String
  4926.    Dim Tmp2       As String
  4927.    Dim i          As Integer
  4928.    Dim j          As Integer
  4929.    
  4930.  
  4931.    Tmp = cGetDefaultCurrentDir()
  4932.    Tmp1 = Tmp & " is the current dir on the default drive" & Chr$(13) & Chr$(13)
  4933.    
  4934.    cStartBasisTimer
  4935.    For i = 1 To Item
  4936.       Tmp2 = cGetDefaultCurrentDir()
  4937.       If (Tmp <> Tmp2) Then Beep
  4938.    Next i
  4939.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4940.  
  4941.    Label3.Caption = Tmp1
  4942.  
  4943. End Sub
  4944.  
  4945. Private Sub TestGetDiskFree()
  4946.  
  4947.    Dim Title      As String
  4948.    Dim Tmp        As String
  4949.    Dim Tmp1       As String
  4950.    Dim Tmp2       As String
  4951.    Dim i          As Integer
  4952.    Dim j          As Integer
  4953.    Dim k          As Long
  4954.    Dim ErrCode    As Integer
  4955.  
  4956.    Tmp1 = ""
  4957.    
  4958.    For i = 1 To 26
  4959.       k = cGetDiskFree(Chr$(64 + i))
  4960.       If (k <> True) Then
  4961.          Tmp1 = Tmp1 & "DiskFree for '" & Chr$(64 + i) & ":' is " & k & Chr$(13)
  4962.       End If
  4963.    Next i
  4964.  
  4965.    Tmp1 = Tmp1 + Chr$(13)
  4966.  
  4967.    cStartBasisTimer
  4968.    For i = 1 To Item
  4969.       k = cGetDiskFree("C")
  4970.    Next i
  4971.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4972.  
  4973.    Label3.Caption = Tmp1
  4974.  
  4975. End Sub
  4976.  
  4977. Private Sub TestGetDiskSpace()
  4978.  
  4979.    Dim Title      As String
  4980.    Dim Tmp        As String
  4981.    Dim Tmp1       As String
  4982.    Dim Tmp2       As String
  4983.    Dim i          As Integer
  4984.    Dim j          As Integer
  4985.    Dim k          As Long
  4986.    Dim ErrCode    As Integer
  4987.  
  4988.    Tmp1 = ""
  4989.    
  4990.    For i = 1 To 26
  4991.       k = cGetDiskSpace(Chr$(64 + i))
  4992.       If (k <> True) Then
  4993.          Tmp1 = Tmp1 & "DiskSpace for '" & Chr$(64 + i) & ":' is " & k & Chr$(13)
  4994.       End If
  4995.    Next i
  4996.  
  4997.    Tmp1 = Tmp1 + Chr$(13)
  4998.  
  4999.    cStartBasisTimer
  5000.    For i = 1 To Item
  5001.       k = cGetDiskSpace("C")
  5002.    Next i
  5003.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5004.  
  5005.    Label3.Caption = Tmp1
  5006.  
  5007. End Sub
  5008.  
  5009. Private Sub TestGetDiskUsed()
  5010.  
  5011.    Dim Title      As String
  5012.    Dim Tmp        As String
  5013.    Dim Tmp1       As String
  5014.    Dim Tmp2       As String
  5015.    Dim i          As Integer
  5016.    Dim j          As Integer
  5017.    Dim k          As Long
  5018.    Dim ErrCode    As Integer
  5019.  
  5020.    Tmp1 = ""
  5021.    
  5022.    For i = 1 To 26
  5023.       k = cGetDiskUsed(Chr$(64 + i))
  5024.       If (k <> True) Then
  5025.          Tmp1 = Tmp1 & "DiskUsed for '" & Chr$(64 + i) & ":' is " & k & Chr$(13)
  5026.       End If
  5027.    Next i
  5028.  
  5029.    Tmp1 = Tmp1 + Chr$(13)
  5030.  
  5031.    cStartBasisTimer
  5032.    For i = 1 To Item
  5033.       k = cGetDiskUsed("C")
  5034.    Next i
  5035.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5036.  
  5037.    Label3.Caption = Tmp1
  5038.  
  5039. End Sub
  5040.  
  5041. Private Sub TestGetDriveCurrentDir()
  5042.  
  5043.    Dim Title      As String
  5044.    Dim Tmp        As String
  5045.    Dim Tmp1       As String
  5046.    Dim Tmp2       As String
  5047.    Dim i          As Integer
  5048.    Dim j          As Integer
  5049.  
  5050.    Tmp1 = ""
  5051.    
  5052.    For i = 1 To 26
  5053.       Tmp = cGetDriveCurrentDir(Chr$(64 + i))
  5054.       If (Tmp <> "") Then
  5055.          Tmp1 = Tmp1 & "The current directory in '" & Chr$(64 + i) & ":' is " & Tmp & Chr$(13)
  5056.       Else
  5057.          If (i = 1) Then Tmp1 = Tmp1 & "drive A: is missing" & Chr$(13)
  5058.          If (i = 2) Then Tmp1 = Tmp1 & "drive B: is missing" & Chr$(13)
  5059.       End If
  5060.    Next i
  5061.  
  5062.    Tmp1 = Tmp1 + Chr$(13)
  5063.  
  5064.    cStartBasisTimer
  5065.    For i = 1 To Item
  5066.       Tmp2 = cGetDriveCurrentDir("C")
  5067.    Next i
  5068.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5069.  
  5070.    Label3.Caption = Tmp1
  5071.  
  5072. End Sub
  5073.  
  5074. Private Sub TestGetFullnameInEnv()
  5075.  
  5076.    Dim Title      As String
  5077.    Dim Tmp        As String
  5078.    Dim Tmp1       As String
  5079.    Dim Tmp2       As String
  5080.    Dim i          As Integer
  5081.    Dim j          As Integer
  5082.  
  5083.    Tmp = cGetFullNameInEnv("win.com", "windir")
  5084.    Tmp1 = "Full path for 'win.com' in 'windir' is " & Tmp & Chr$(13) & Chr$(13)
  5085.    
  5086.    cStartBasisTimer
  5087.    For i = 1 To ItemFile
  5088.       Tmp2 = cGetFullNameInEnv("win.com", "windir")
  5089.    Next i
  5090.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5091.  
  5092.    Label3.Caption = Tmp1
  5093.  
  5094. End Sub
  5095.  
  5096. Private Sub TestGetFullnameInPath()
  5097.  
  5098.    Dim Title      As String
  5099.    Dim Tmp        As String
  5100.    Dim Tmp1       As String
  5101.    Dim Tmp2       As String
  5102.    Dim i          As Integer
  5103.    Dim j          As Integer
  5104.  
  5105.    Tmp = cGetFullNameInPath("win.com")
  5106.    Tmp1 = "Full path for 'win.com' is " & Tmp & Chr$(13) & Chr$(13)
  5107.    
  5108.    cStartBasisTimer
  5109.    For i = 1 To ItemFile
  5110.       Tmp2 = cGetFullNameInPath("win.com")
  5111.    Next i
  5112.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5113.  
  5114.    Label3.Caption = Tmp1
  5115.  
  5116. End Sub
  5117.  
  5118. Private Sub TestGetIn()
  5119.  
  5120.    Dim Title      As String
  5121.    Dim Tmp        As String
  5122.    Dim Tmp1       As String
  5123.    Dim Tmp2       As String
  5124.    Dim i          As Integer
  5125.    Dim j          As Integer
  5126.    
  5127.  
  5128.    Tmp = Text1.Text
  5129.    Title = "The 2,4,1 blocks of [" & Tmp & "] are "
  5130.  
  5131.    Tmp = Text1.Text
  5132.  
  5133.    Tmp1 = Title & "2:" & cGetIn(Tmp, "/", 2) & " | 4:" & cGetIn(Tmp, "/", 4) & " | 1:" & cGetIn(Tmp, "/", 1) & Chr$(13) & Chr$(13)
  5134.  
  5135.    cStartBasisTimer
  5136.    For i = 1 To Item
  5137.       Tmp2 = cGetIn(Tmp, "/", 2)
  5138.    Next i
  5139.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5140.  
  5141.    Label3.Caption = Tmp1
  5142.    
  5143. End Sub
  5144.  
  5145. Private Sub TestGetInR()
  5146.               
  5147.    Dim Title      As String
  5148.    Dim Tmp        As String
  5149.    Dim Tmp1       As String
  5150.    Dim Tmp2       As String
  5151.    Dim i          As Integer
  5152.    Dim j          As Integer
  5153.  
  5154.    Tmp = Text1.Text
  5155.  
  5156.    Tmp1 = Tmp1 + "GetInR" & Chr$(13)
  5157.    Tmp1 = Tmp1 + "The 2,4,1 blocks from the right of [" & Tmp & "] are "
  5158.    Tmp1 = Tmp1 & "2:" & cGetInR(Tmp, "/", 2) & " | 4:" & cGetInR(Tmp, "/", 4) & " | 1:" & cGetInR(Tmp, "/", 1) & Chr$(13) & Chr$(13)
  5159.  
  5160.    Tmp1 = Tmp1 + "GetInPart" & Chr$(13)
  5161.    Tmp1 = Tmp1 + "The first and the second part from the left of [" & Tmp & "] are " & Chr$(13)
  5162.    Tmp1 = Tmp1 & cGetInPart(Tmp, "/", True) & " | " & cGetInPart(Tmp, "/", False) & Chr$(13) & Chr$(13)
  5163.  
  5164.    Tmp1 = Tmp1 + "GetInPartR" & Chr$(13)
  5165.    Tmp1 = Tmp1 + "The first and the second part from the right of [" & Tmp & "] are " & Chr$(13)
  5166.    Tmp1 = Tmp1 & cGetInPartR(Tmp, "/", True) & " | " & cGetInPartR(Tmp, "/", False) & Chr$(13) & Chr$(13)
  5167.  
  5168.    Tmp = UCase$("c:\vberr.hnd\source.mak\vbtrcprf.mak")
  5169.  
  5170.    Tmp1 = Tmp1 + "GetInPart" & Chr$(13)
  5171.    Tmp1 = Tmp1 + "The first and the second part from the left of [" & Tmp & "] are " & Chr$(13)
  5172.    Tmp1 = Tmp1 & cGetInPart(Tmp, ".", True) & " | " & cGetInPart(Tmp, ".", False) & Chr$(13) & Chr$(13)
  5173.  
  5174.    Tmp1 = Tmp1 + "GetInPartR" & Chr$(13)
  5175.    Tmp1 = Tmp1 + "The first and the second part from the right of [" & Tmp & "] are " & Chr$(13)
  5176.    Tmp1 = Tmp1 & cGetInPartR(Tmp, ".", True) & " | " & cGetInPartR(Tmp, ".", False) & Chr$(13) & Chr$(13)
  5177.  
  5178.    cStartBasisTimer
  5179.    For i = 1 To Item
  5180.       Tmp2 = cGetInR(Tmp, "/", 2)
  5181.    Next i
  5182.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5183.  
  5184.    Label3.Caption = Tmp1
  5185.    
  5186. End Sub
  5187.  
  5188. Private Sub TestGetNetConnection()
  5189.  
  5190.    Dim Title      As String
  5191.    Dim Tmp        As String
  5192.    Dim Tmp1       As String
  5193.    Dim Tmp2       As String
  5194.    Dim i          As Integer
  5195.    Dim j          As Integer
  5196.    Dim ErrCode    As Integer
  5197.  
  5198.    Tmp1 = ""
  5199.    
  5200.    For i = 1 To 26
  5201.       Tmp = cGetNetConnection(Chr$(64 + i) & ":", ErrCode)
  5202.       If (ErrCode = True) Then
  5203.          Tmp1 = Tmp1 & "'" & Chr$(64 + i) & ":' is " & Tmp & Chr$(13)
  5204.       End If
  5205.    Next i
  5206.  
  5207.    For i = 1 To 3
  5208.       Tmp = cGetNetConnection("LPT" & i & ":", ErrCode)
  5209.       If (ErrCode = True) Then
  5210.          Tmp1 = Tmp1 & "'LPT" & i & ":' is " & Tmp & Chr$(13)
  5211.       End If
  5212.    Next i
  5213.  
  5214.    Tmp1 = Tmp1 + Chr$(13)
  5215.  
  5216.    cStartBasisTimer
  5217.    For i = 1 To ItemFile
  5218.       Tmp = cGetNetConnection("C", ErrCode)
  5219.    Next i
  5220.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5221.  
  5222.    Label3.Caption = Tmp1
  5223.  
  5224. End Sub
  5225.  
  5226. Private Sub TestGetSystemDirectory()
  5227.  
  5228.    Dim Title      As String
  5229.    Dim Tmp        As String
  5230.    Dim Tmp1       As String
  5231.    Dim Tmp2       As String
  5232.    Dim i          As Integer
  5233.    Dim j          As Integer
  5234.    
  5235.    Tmp = cGetSystemDirectory()
  5236.    Tmp1 = Tmp & " is the system directory for Windows" & Chr$(13) & Chr$(13)
  5237.    
  5238.    cStartBasisTimer
  5239.    For i = 1 To Item
  5240.       Tmp2 = cGetSystemDirectory()
  5241.       If (Tmp <> Tmp2) Then Beep
  5242.    Next i
  5243.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5244.  
  5245.    Label3.Caption = Tmp1
  5246.  
  5247. End Sub
  5248.  
  5249. Private Sub TestGetTimeSeparator()
  5250.  
  5251.    Dim Title      As String
  5252.    Dim Tmp        As String
  5253.    Dim Tmp1       As String
  5254.    Dim Tmp2       As String
  5255.    Dim i          As Integer
  5256.    Dim j          As Integer
  5257.    
  5258.  
  5259.    Tmp = cGetTimeSeparator()
  5260.    Tmp1 = "The following char '" & Tmp & "' is the time separator" & Chr$(13) & Chr$(13)
  5261.    
  5262.    cStartBasisTimer
  5263.    For i = 1 To Item
  5264.       Tmp2 = cGetTimeSeparator()
  5265.       If (Tmp <> Tmp2) Then Beep
  5266.    Next i
  5267.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5268.  
  5269.    Label3.Caption = Tmp1
  5270.  
  5271. End Sub
  5272.  
  5273. Private Sub TestGetWindowsDirectory()
  5274.  
  5275.    Dim Title      As String
  5276.    Dim Tmp        As String
  5277.    Dim Tmp1       As String
  5278.    Dim Tmp2       As String
  5279.    Dim i          As Integer
  5280.    Dim j          As Integer
  5281.    
  5282.    Tmp = cGetWindowsDirectory()
  5283.    Tmp1 = Tmp & " is the directory for Windows" & Chr$(13) & Chr$(13)
  5284.    
  5285.    cStartBasisTimer
  5286.    For i = 1 To Item
  5287.       Tmp2 = cGetWindowsDirectory()
  5288.       If (Tmp <> Tmp2) Then Beep
  5289.    Next i
  5290.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5291.  
  5292.    Label3.Caption = Tmp1
  5293.  
  5294. End Sub
  5295.  
  5296. Private Sub TestGiveBitPalindrome()
  5297.  
  5298.    Dim Title      As String
  5299.    Dim Tmp        As String
  5300.    Dim Tmp1       As String
  5301.    Dim Tmp2       As String
  5302.    Dim i          As Integer
  5303.    Dim j          As Integer
  5304.    
  5305.  
  5306.    Title = "The followings chars are Bit Palindrome : " & Chr$(13) & Chr$(13)
  5307.    Tmp1 = Tmp1 & Title & "chr(0) and  " & cBlockCharFromRight(cGiveBitPalindrome(), 1) & Chr$(13) & Chr$(13)
  5308.  
  5309.    cStartBasisTimer
  5310.    For i = 1 To Item
  5311.       Tmp2 = cGiveBitPalindrome()
  5312.    Next i
  5313.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5314.  
  5315.    Label3.Caption = Tmp1
  5316.  
  5317. End Sub
  5318.  
  5319. Private Sub TestHideAllEditForm()
  5320.  
  5321.    Dim N       As Integer
  5322.    Dim Tmp     As String
  5323.  
  5324.    If (cHideAllEditForm() = True) Then
  5325.       Tmp = "HideAllEditForm SUCCESS"
  5326.    Else
  5327.       Tmp = "HideAllEditForm FAIL"
  5328.    End If
  5329.  
  5330.    Tmp = Tmp & Chr$(13) & "Waiting 2 seconds" & Chr$(13)
  5331.    Label3.Caption = Tmp
  5332.    DoEvents
  5333.    N = cSleep(2000)
  5334.  
  5335.    If (cUnHideAllEditForm() = True) Then
  5336.       Tmp = Tmp & "UnHideAllEditForm SUCCESS"
  5337.    Else
  5338.       Tmp = Tmp & "UnHideAllEditForm FAIL"
  5339.    End If
  5340.  
  5341.    Label3.Caption = Tmp
  5342.  
  5343. End Sub
  5344.  
  5345. Private Sub TestHideDebugForm()
  5346.  
  5347.    Dim N       As Integer
  5348.    Dim Tmp     As String
  5349.  
  5350.    If (cHideDebugForm() = True) Then
  5351.       Tmp = "HideDebugForm SUCCESS"
  5352.    Else
  5353.       Tmp = "HideDebugForm FAIL"
  5354.    End If
  5355.  
  5356.    Tmp = Tmp & Chr$(13) & "Waiting 2 seconds" & Chr$(13)
  5357.    Label3.Caption = Tmp
  5358.    DoEvents
  5359.    N = cSleep(2000)
  5360.  
  5361.    If (cUnHideDebugForm() = True) Then
  5362.       Tmp = Tmp & "UnHideDebugForm SUCCESS"
  5363.    Else
  5364.       Tmp = Tmp & "UnHideDebugForm FAIL"
  5365.    End If
  5366.  
  5367.    Label3.Caption = Tmp
  5368.  
  5369. End Sub
  5370.  
  5371. Private Sub TestHMAL(Management As Integer)
  5372.  
  5373.    Dim Tmp        As String
  5374.    Dim ErrCode    As Integer
  5375.    Dim HMA        As tagHMA
  5376.    
  5377.    HMA.nType = DA_LONG
  5378.    HMA.nIsTyped = False
  5379.    HMA.nRows = 100
  5380.    HMA.nCols = 100
  5381.    HMA.nSheets = 2
  5382.  
  5383.    ErrCode = cHMACreate(HMA)
  5384.  
  5385.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  5386.  
  5387.    If (ErrCode = True) Then
  5388.       
  5389.       Tmp = Tmp & "HMA.daSize       = " & HMA.daSize & Chr$(13)
  5390.       Tmp = Tmp & "HMA.nType        = " & HMA.nType & Chr$(13)
  5391.       Tmp = Tmp & "HMA.nIsTyped     = " & HMA.nIsTyped & Chr$(13)
  5392.       Tmp = Tmp & "HMA.nRows        = " & HMA.nRows & Chr$(13)
  5393.       Tmp = Tmp & "HMA.nCols        = " & HMA.nCols & Chr$(13)
  5394.       Tmp = Tmp & "HMA.nSheets      = " & HMA.nSheets & Chr$(13)
  5395.       Tmp = Tmp & "HMA.rHandle      = " & HMA.rHandle & Chr$(13)
  5396.       Tmp = Tmp & "HMA.rElementSize = " & HMA.rElementSize & Chr$(13)
  5397.       Tmp = Tmp & "HMA.rMemorySize  = " & HMA.rMemorySize & Chr$(13)
  5398.       Tmp = Tmp & "HMA.rParts       = " & HMA.rParts & Chr$(13)
  5399.       Tmp = Tmp & "HMA.rRemain      = " & HMA.rRemain & Chr$(13)
  5400.       Tmp = Tmp & "HMA.rSheetSize   = " & HMA.rSheetSize & Chr$(13) & Chr$(13)
  5401.       
  5402.       Call cHMAPut(HMA, 1, 1, 1, 12345)
  5403.       Call cHMAPut(HMA, HMA.nRows, HMA.nCols, 1, 98765)
  5404.       
  5405.       Call cHMAPut(HMA, 1, HMA.nCols, 2, 34567890)
  5406.       Call cHMAPut(HMA, HMA.nRows, 1, 2, 123456789)
  5407.    
  5408.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & Chr$(13)
  5409.       Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & Chr$(13)
  5410.       
  5411.       Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & Chr$(13)
  5412.       Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & Chr$(13) & Chr$(13)
  5413.  
  5414.       If (Management > 0) Then
  5415.  
  5416.          Select Case Management
  5417.             Case 1         'clear all
  5418.                ErrCode = cHMAClear(HMA)
  5419.             Case 2         'clear sheet 2
  5420.                ErrCode = cHMAClearSheet(HMA, 2)
  5421.             Case 3         'clear last row
  5422.                ErrCode = cHMAClearRow(HMA, HMA.nRows, 1)
  5423.             Case 4         'clear last col
  5424.                ErrCode = cHMAClearCol(HMA, HMA.nCols, 1)
  5425.             Case 5         'clear last row in all sheets
  5426.                ErrCode = cHMAClearRow(HMA, HMA.nRows, -1)
  5427.             Case 6         'clear last col in all sheets
  5428.                ErrCode = cHMAClearCol(HMA, HMA.nCols, -1)
  5429.          End Select
  5430.  
  5431.          Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & Chr$(13)
  5432.          Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & Chr$(13)
  5433.          
  5434.          Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & Chr$(13)
  5435.          Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & Chr$(13)
  5436.  
  5437.       End If
  5438.  
  5439.    End If
  5440.  
  5441.    ErrCode = cHMAFree(HMA)
  5442.  
  5443.    Label3.Caption = Tmp
  5444.  
  5445. End Sub
  5446.  
  5447. Private Sub TestHMAStr(Management As Integer)
  5448.  
  5449.    Dim Tmp        As String
  5450.    Dim ErrCode    As Integer
  5451.    Dim HMA        As tagHMA
  5452.  
  5453.    HMA.nType = 50
  5454.    HMA.nIsTyped = False
  5455.    HMA.nRows = 100
  5456.    HMA.nCols = 100
  5457.    HMA.nSheets = 2
  5458.  
  5459.    ErrCode = cHMACreate(HMA)
  5460.  
  5461.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  5462.  
  5463.    If (ErrCode = True) Then
  5464.       
  5465.       Tmp = Tmp & "HMA.daSize       = " & HMA.daSize & Chr$(13)
  5466.       Tmp = Tmp & "HMA.nType        = " & HMA.nType & Chr$(13)
  5467.       Tmp = Tmp & "HMA.nIsTyped     = " & HMA.nIsTyped & Chr$(13)
  5468.       Tmp = Tmp & "HMA.nRows        = " & HMA.nRows & Chr$(13)
  5469.       Tmp = Tmp & "HMA.nCols        = " & HMA.nCols & Chr$(13)
  5470.       Tmp = Tmp & "HMA.nSheets      = " & HMA.nSheets & Chr$(13)
  5471.       Tmp = Tmp & "HMA.rHandle      = " & HMA.rHandle & Chr$(13)
  5472.       Tmp = Tmp & "HMA.rElementSize = " & HMA.rElementSize & Chr$(13)
  5473.       Tmp = Tmp & "HMA.rMemorySize  = " & HMA.rMemorySize & Chr$(13)
  5474.       Tmp = Tmp & "HMA.rParts       = " & HMA.rParts & Chr$(13)
  5475.       Tmp = Tmp & "HMA.rRemain      = " & HMA.rRemain & Chr$(13)
  5476.       Tmp = Tmp & "HMA.rSheetSize   = " & HMA.rSheetSize & Chr$(13) & Chr$(13)
  5477.       
  5478.       Call cHMAPut(HMA, 1, 1, 1, "D:1, ABCDEFGHIJ")
  5479.       Call cHMAPut(HMA, HMA.nRows, HMA.nCols, 1, "D:1, oprqstuvwxyz")
  5480.       
  5481.       Call cHMAPut(HMA, 1, HMA.nCols, 2, "D:2, 0987654321")
  5482.       Call cHMAPut(HMA, HMA.nRows, 1, 2, "D:2, 12345ABCDE")
  5483.    
  5484.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & Chr$(13)
  5485.       Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & Chr$(13)
  5486.       
  5487.       Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & Chr$(13)
  5488.       Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & Chr$(13) & Chr$(13)
  5489.  
  5490.       If (Management > 0) Then
  5491.  
  5492.          Select Case Management
  5493.             Case 1         'clear all
  5494.                ErrCode = cHMAClear(HMA)
  5495.             Case 2         'clear sheet 2
  5496.                ErrCode = cHMAClearSheet(HMA, 2)
  5497.             Case 3         'clear last row
  5498.                ErrCode = cHMAClearRow(HMA, HMA.nRows, 1)
  5499.             Case 4         'clear last col
  5500.                ErrCode = cHMAClearCol(HMA, HMA.nCols, 1)
  5501.             Case 5         'clear last row in all sheets
  5502.                ErrCode = cHMAClearRow(HMA, HMA.nRows, -1)
  5503.             Case 6         'clear last col in all sheets
  5504.                ErrCode = cHMAClearCol(HMA, HMA.nCols, -1)
  5505.          End Select
  5506.  
  5507.          Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & Chr$(13)
  5508.          Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & Chr$(13)
  5509.          
  5510.          Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & Chr$(13)
  5511.          Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & Chr$(13)
  5512.  
  5513.       End If
  5514.  
  5515.    End If
  5516.  
  5517.    ErrCode = cHMAFree(HMA)
  5518.  
  5519.    Label3.Caption = Tmp
  5520.    
  5521. End Sub
  5522.  
  5523. Private Sub TestHMAType(Management As Integer)
  5524.  
  5525.    Dim Tmp        As String
  5526.    Dim ErrCode    As Integer
  5527.    Dim HMA        As tagHMA
  5528.    Dim TE         As tagTASKENTRY
  5529.  
  5530.    HMA.nType = Len(TE)
  5531.    HMA.nIsTyped = True
  5532.    HMA.nRows = 100
  5533.    HMA.nCols = 100
  5534.    HMA.nSheets = 2
  5535.  
  5536.    ErrCode = cHMACreate(HMA)
  5537.  
  5538.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  5539.  
  5540.    If (ErrCode = True) Then
  5541.       
  5542.       Tmp = Tmp & "HMA.daSize       = " & HMA.daSize & Chr$(13)
  5543.       Tmp = Tmp & "HMA.nType        = " & HMA.nType & Chr$(13)
  5544.       Tmp = Tmp & "HMA.nIsTyped     = " & HMA.nIsTyped & Chr$(13)
  5545.       Tmp = Tmp & "HMA.nRows        = " & HMA.nRows & Chr$(13)
  5546.       Tmp = Tmp & "HMA.nCols        = " & HMA.nCols & Chr$(13)
  5547.       Tmp = Tmp & "HMA.nSheets      = " & HMA.nSheets & Chr$(13)
  5548.       Tmp = Tmp & "HMA.rHandle      = " & HMA.rHandle & Chr$(13)
  5549.       Tmp = Tmp & "HMA.rElementSize = " & HMA.rElementSize & Chr$(13)
  5550.       Tmp = Tmp & "HMA.rMemorySize  = " & HMA.rMemorySize & Chr$(13)
  5551.       Tmp = Tmp & "HMA.rParts       = " & HMA.rParts & Chr$(13)
  5552.       Tmp = Tmp & "HMA.rRemain      = " & HMA.rRemain & Chr$(13)
  5553.       Tmp = Tmp & "HMA.rSheetSize   = " & HMA.rSheetSize & Chr$(13) & Chr$(13)
  5554.  
  5555.       ErrCode = cTasks(TE, True)
  5556.       Call cHMAPutType(HMA, 1, 1, 1, TE)
  5557.       ErrCode = cTasks(TE, False)
  5558.       Call cHMAPutType(HMA, HMA.nRows, HMA.nCols, 1, TE)
  5559.       
  5560.       ErrCode = cTasks(TE, False)
  5561.       Call cHMAPutType(HMA, 1, HMA.nCols, 2, TE)
  5562.       ErrCode = cTasks(TE, False)
  5563.       Call cHMAPutType(HMA, HMA.nRows, 1, 2, TE)
  5564.       
  5565.       Call cHMAGetType(HMA, 1, 1, 1, TE)
  5566.       Tmp = Tmp & "R:1  , C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  5567.       Call cHMAGetType(HMA, HMA.nRows, HMA.nCols, 1, TE)
  5568.       Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  5569.       
  5570.       Call cHMAGetType(HMA, 1, HMA.nCols, 2, TE)
  5571.       Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  5572.       Call cHMAGetType(HMA, HMA.nRows, 1, 2, TE)
  5573.       Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & Chr$(13) & Chr$(13)
  5574.  
  5575.       If (Management > 0) Then
  5576.  
  5577.          Select Case Management
  5578.             Case 1         'clear all
  5579.                ErrCode = cHMAClear(HMA)
  5580.             Case 2         'clear sheet 2
  5581.                ErrCode = cHMAClearSheet(HMA, 2)
  5582.             Case 3         'clear last row
  5583.                ErrCode = cHMAClearRow(HMA, HMA.nRows, 1)
  5584.             Case 4         'clear last col
  5585.                ErrCode = cHMAClearCol(HMA, HMA.nCols, 1)
  5586.             Case 5         'clear last row in all sheets
  5587.                ErrCode = cHMAClearRow(HMA, HMA.nRows, -1)
  5588.             Case 6         'clear last col in all sheets
  5589.                ErrCode = cHMAClearCol(HMA, HMA.nCols, -1)
  5590.          End Select
  5591.  
  5592.          Call cHMAGetType(HMA, 1, 1, 1, TE)
  5593.          Tmp = Tmp & "R:1  , C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  5594.          Call cHMAGetType(HMA, HMA.nRows, HMA.nCols, 1, TE)
  5595.          Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  5596.       
  5597.          Call cHMAGetType(HMA, 1, HMA.nCols, 2, TE)
  5598.          Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  5599.          Call cHMAGetType(HMA, HMA.nRows, 1, 2, TE)
  5600.          Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  5601.  
  5602.       End If
  5603.  
  5604.    End If
  5605.  
  5606.    ErrCode = cHMAFree(HMA)
  5607.  
  5608.    Label3.Caption = Tmp
  5609.    
  5610. End Sub
  5611.  
  5612. Private Sub TestHourTo()
  5613.  
  5614.    Dim Title      As String
  5615.    Dim Tmp        As String
  5616.    Dim Tmp1       As String
  5617.    Dim Tmp2       As String
  5618.    Dim i          As Integer
  5619.    Dim j          As Integer
  5620.  
  5621.    Tmp1 = "The time 10:00 is " & cHourTo("10:00") & " minutes" & Chr$(13)
  5622.    Tmp1 = Tmp1 & "The time 23:58 is " & cHourTo("23:58") & " minutes" & Chr$(13)
  5623.    Tmp1 = Tmp1 & "The time 7:36 is " & cHourTo("7:36") & " minutes" & Chr$(13)
  5624.    Tmp1 = Tmp1 & "The time :24 is " & cHourTo(":24") & " minutes" & Chr$(13)
  5625.    Tmp1 = Tmp1 & "The time :4 is " & cHourTo(":4") & " minutes" & Chr$(13)
  5626.    Tmp1 = Tmp1 & "The time : is " & cHourTo(":") & " minutes" & Chr$(13) & Chr$(13)
  5627.  
  5628.    Tmp1 = Tmp1 & "The time -10:00 is " & cHourTo("-10:00") & " minutes" & Chr$(13)
  5629.    Tmp1 = Tmp1 & "The time -23:58 is " & cHourTo("-23:58") & " minutes" & Chr$(13)
  5630.    Tmp1 = Tmp1 & "The time -7:36 is " & cHourTo("-7:36") & " minutes" & Chr$(13)
  5631.    Tmp1 = Tmp1 & "The time -:24 is " & cHourTo("-:24") & " minutes" & Chr$(13)
  5632.    Tmp1 = Tmp1 & "The time -:4 is " & cHourTo("-:4") & " minutes" & Chr$(13)
  5633.    Tmp1 = Tmp1 & "The time -: is " & cHourTo("-:") & " minutes" & Chr$(13) & Chr$(13)
  5634.  
  5635.    cStartBasisTimer
  5636.    For i = 1 To Item
  5637.       j = cHourTo("23:59")
  5638.    Next i
  5639.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5640.  
  5641.    Label3.Caption = Tmp1
  5642.    
  5643. End Sub
  5644.  
  5645. Private Sub TestInpBox()
  5646.  
  5647.    Dim i       As Integer
  5648.    Dim N       As Integer
  5649.    Dim Tmp     As String
  5650.    Dim Tmp1    As String
  5651.  
  5652.    Tmp = "'T2WIN-16'" & Chr$(13) & Chr$(13)
  5653.    Tmp = Tmp & " is a powerfull data link library for using with Visual Basic 3.0 for Windows." & Chr$(13)
  5654.    Tmp = Tmp & "It looks very better than the standard message box." & Chr$(13)
  5655.    Tmp = Tmp & "All push buttons are displayed in French." & Chr$(13)
  5656.    Tmp = Tmp & "The system menu is also in French."
  5657.  
  5658.    Tmp1 = cLngInpBox(LNG_FRENCH, Tmp, "Input Box in French", "" & Text1.Text)
  5659.  
  5660.    Tmp1 = InputBox$("This is a standard input box", "VB INPUT BOX", "" & Text1.Text)
  5661.  
  5662. End Sub
  5663.  
  5664. Private Sub TestInsertBlocks()
  5665.  
  5666.    Dim Title      As String
  5667.    Dim Tmp        As String
  5668.    Dim Tmp1       As String
  5669.    Dim Tmp2       As String
  5670.    Dim i          As Integer
  5671.    Dim j          As Integer
  5672.    
  5673.  
  5674.    Tmp = "A~BC~DEF~GHIJ~"
  5675.    Title = "Insert 'a','bc','def','ghij' into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  5676.    Tmp1 = Title & cInsertBlocks(Tmp, "a~bc~def~ghij") & Chr$(13) & Chr$(13)
  5677.  
  5678.    Title = "Insert '' into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  5679.    Tmp1 = Tmp1 & Title & cInsertBlocks(Tmp, "") & Chr$(13) & Chr$(13)
  5680.  
  5681.    cStartBasisTimer
  5682.    For i = 1 To Item
  5683.       Tmp2 = cInsertBlocks(Tmp, "a")
  5684.    Next i
  5685.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5686.  
  5687.    Label3.Caption = Tmp1
  5688.  
  5689. End Sub
  5690.  
  5691. Private Sub TestInsertBlocksBy()
  5692.  
  5693.    Dim Title      As String
  5694.    Dim Tmp        As String
  5695.    Dim Tmp1       As String
  5696.    Dim Tmp2       As String
  5697.    Dim i          As Integer
  5698.    Dim j          As Integer
  5699.    
  5700.  
  5701.    Tmp = Text1.Text
  5702.    Title = "Insert 'a','bc','def','ghij' into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  5703.    Tmp1 = Title & cInsertBlocksBy(Tmp, "a/bc/def/ghij", "/") & Chr$(13) & Chr$(13)
  5704.  
  5705.    Title = "Insert '' into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  5706.    Tmp1 = Tmp1 & Title & cInsertBlocksBy(Tmp, "", "/") & Chr$(13) & Chr$(13)
  5707.  
  5708.    cStartBasisTimer
  5709.    For i = 1 To Item
  5710.       Tmp2 = cInsertBlocksBy(Tmp, "a/bc/def/ghij", "/")
  5711.    Next i
  5712.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5713.  
  5714.    Label3.Caption = Tmp1
  5715.  
  5716. End Sub
  5717.  
  5718. Private Sub TestInsertChars()
  5719.  
  5720.    Dim Title      As String
  5721.    Dim Tmp        As String
  5722.    Dim Tmp1       As String
  5723.    Dim Tmp2       As String
  5724.    Dim i          As Integer
  5725.    Dim j          As Integer
  5726.  
  5727.    Tmp = Text1.Text
  5728.    Title = "Insert 'a' from 7 char into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  5729.    Tmp1 = Title & cInsertChars(Tmp, 7, "a") & Chr$(13) & Chr$(13)
  5730.  
  5731.    Title = "Insert '10$' from 2 char into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  5732.    Tmp1 = Tmp1 & Title & cInsertChars(Tmp, 2, "10$") & Chr$(13) & Chr$(13)
  5733.  
  5734.    Title = "Insert '@' from 21 char into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  5735.    Tmp1 = Tmp1 & Title & cInsertChars(Tmp, 21, "@") & Chr$(13) & Chr$(13)
  5736.  
  5737.    cStartBasisTimer
  5738.    For i = 1 To Item
  5739.       Tmp2 = cInsertChars(Tmp, 1, "a")
  5740.    Next i
  5741.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5742.  
  5743.    Label3.Caption = Tmp1
  5744.  
  5745. End Sub
  5746.  
  5747. Private Sub TestIntoBalance()
  5748.  
  5749.    Dim Title      As String
  5750.    Dim Tmp        As String
  5751.    Dim Tmp1       As String
  5752.    Dim Tmp2       As String
  5753.    Dim i          As Integer
  5754.    Dim j          As Integer
  5755.    
  5756.  
  5757.    j = 1234
  5758.    Title = "Convert minutes into balance : " & Chr$(13) & Chr$(13)
  5759.    Tmp1 = Title & Chr$(13)
  5760.    For i = 0 To 11
  5761.       Tmp1 = Tmp1 & (j + i) & " { " & cIntoBalanceFill(j + i) & " }" & Chr$(9) & Chr$(9)
  5762.       Tmp1 = Tmp1 & "{ " & cIntoBalance(j + i) & " }" & Chr$(13)
  5763.    Next i
  5764.    Tmp1 = Tmp1 & Chr$(13)
  5765.  
  5766.    cStartBasisTimer
  5767.    For i = 1 To Item
  5768.       Tmp2 = cIntoBalanceFill(i)
  5769.    Next i
  5770.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5771.  
  5772.    Label3.Caption = Tmp1
  5773.  
  5774. End Sub
  5775.  
  5776. Private Sub TestIntoFixHour()
  5777.  
  5778.    Dim Title      As String
  5779.    Dim Tmp        As String
  5780.    Dim Tmp1       As String
  5781.    Dim Tmp2       As String
  5782.    Dim i          As Integer
  5783.    Dim j          As Integer
  5784.    
  5785.  
  5786.    j = 12345
  5787.    Title = "Convert " & j & " minutes into fixed hour : " & Chr$(13) & Chr$(13)
  5788.    Tmp1 = Title & Chr$(13)
  5789.    For i = 0 To 11
  5790.       Tmp1 = Tmp1 & "{ " & cIntoFixHour(j, i, True, False) & " }" & Chr$(9) & Chr$(9)
  5791.       Tmp1 = Tmp1 & "{ " & cIntoFixHour(j, i, False, False) & " }" & Chr$(13)
  5792.    Next i
  5793.    Tmp1 = Tmp1 & Chr$(13)
  5794.  
  5795.    cStartBasisTimer
  5796.    For i = 1 To Item
  5797.       Tmp2 = cIntoFixHour(12345, 8, True, False)
  5798.    Next i
  5799.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5800.  
  5801.    Label3.Caption = Tmp1
  5802.  
  5803. End Sub
  5804.  
  5805. Private Sub TestIntoHour()
  5806.  
  5807.    Dim Title      As String
  5808.    Dim Tmp        As String
  5809.    Dim Tmp1       As String
  5810.    Dim Tmp2       As String
  5811.    Dim i          As Integer
  5812.    Dim j          As Integer
  5813.    
  5814.  
  5815.    j = 1234
  5816.    Title = "Convert minutes into hour : " & Chr$(13) & Chr$(13)
  5817.    Tmp1 = Title & Chr$(13)
  5818.    For i = 0 To 11
  5819.       Tmp1 = Tmp1 & (j + i) & " { " & cIntoHour(j + i) & " }" & Chr$(13)
  5820.    Next i
  5821.    Tmp1 = Tmp1 & Chr$(13)
  5822.  
  5823.    cStartBasisTimer
  5824.    For i = 1 To Item
  5825.       Tmp2 = cIntoHour(i)
  5826.    Next i
  5827.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5828.  
  5829.    Label3.Caption = Tmp1
  5830.  
  5831. End Sub
  5832.  
  5833. Private Sub TestIntoVarHour()
  5834.  
  5835.    Dim Title      As String
  5836.    Dim Tmp        As String
  5837.    Dim Tmp1       As String
  5838.    Dim Tmp2       As String
  5839.    Dim i          As Integer
  5840.    Dim j          As Integer
  5841.    
  5842.    Dim k          As Long
  5843.                             
  5844.    Title = "Convert minutes into variable hour : " & Chr$(13) & Chr$(13)
  5845.    Tmp1 = Title & Chr$(13)
  5846.    
  5847.    For i = 1 To 9
  5848.       Tmp2 = Tmp2 & (10 - i)
  5849.       Tmp1 = Tmp1 & Tmp2 & " { " & cIntoVarHour(Val(Tmp2)) & " }" & Chr$(13)
  5850.    Next i
  5851.    Tmp1 = Tmp1 & Chr$(13)
  5852.  
  5853.    cStartBasisTimer
  5854.    For i = 1 To Item
  5855.       Tmp2 = cIntoVarHour(123456789)
  5856.    Next i
  5857.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5858.  
  5859.    Label3.Caption = Tmp1
  5860.  
  5861. End Sub
  5862.  
  5863. Private Sub TestIsBitPalindrome()
  5864.  
  5865.    Dim Title      As String
  5866.    Dim Tmp        As String
  5867.    Dim Tmp1       As String
  5868.    Dim Tmp2       As String
  5869.    Dim i          As Integer
  5870.    Dim j          As Integer
  5871.    
  5872.  
  5873.    Tmp = Text1.Text
  5874.    Title = "[" & Tmp & "] is "
  5875.  
  5876.    Tmp1 = Title & IIf(cIsPalindrome(Tmp), "a Bit Palindrome", " not a Bit Palindrome") & Chr$(13) & Chr$(13)
  5877.  
  5878.    For i = 1 To 255
  5879.       If cIsBitPalindrome(Chr$(i)) Then Tmp2 = Tmp2 + Chr$(i) & "(" & i & ")" & Chr$(9)
  5880.    Next i
  5881.  
  5882.    Title = "The followings chars are Bit Palindrome : " & Chr$(13) & Chr$(13)
  5883.    Tmp1 = Tmp1 & Title & Tmp2 & Chr$(13) & Chr$(13)
  5884.  
  5885.    cStartBasisTimer
  5886.    For i = 1 To Item
  5887.       j = cIsPalindrome(Tmp)
  5888.    Next i
  5889.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5890.  
  5891.    Label3.Caption = Tmp1
  5892.  
  5893. End Sub
  5894.  
  5895. Private Sub TestIsFileX()
  5896.  
  5897.    Dim Title      As String
  5898.    Dim Tmp        As String
  5899.    Dim Tmp1       As String
  5900.    Dim Tmp2       As String
  5901.    Dim i          As Integer
  5902.    Dim j          As Integer
  5903.    
  5904.  
  5905.    Tmp = cFilesInDirectory("*.*", True)
  5906.    Title = "[" & Tmp & "] is "
  5907.  
  5908.    Tmp1 = Title & Chr$(13) & Chr$(13)
  5909.  
  5910.    Tmp1 = Tmp1 & IIf(cIsFilenameValid(Tmp), " a good filename", " is not a good filename") & Chr$(13)
  5911.    Tmp1 = Tmp1 & IIf(cIsFileArchive(Tmp), " archive", " not archive") & Chr$(13)
  5912.    Tmp1 = Tmp1 & IIf(cIsFileHidden(Tmp), " hidden", " not hidden") & Chr$(13)
  5913.    Tmp1 = Tmp1 & IIf(cIsFileNormal(Tmp), " normal", " not normal") & Chr$(13)
  5914.    Tmp1 = Tmp1 & IIf(cIsFileReadOnly(Tmp), " read-only", " not read-only") & Chr$(13)
  5915.    Tmp1 = Tmp1 & IIf(cIsFileSubDir(Tmp), " sub-directory", " not sub-directory") & Chr$(13)
  5916.    Tmp1 = Tmp1 & IIf(cIsFileSystem(Tmp), " system", " not system") & Chr$(13)
  5917.    Tmp1 = Tmp1 & IIf(cIsFileVolId(Tmp), " volume-id", " not volume-id") & Chr$(13) & Chr$(13)
  5918.    
  5919.    cStartBasisTimer
  5920.    For i = 1 To Item
  5921.       j = cIsFileArchive(Tmp)
  5922.    Next i
  5923.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5924.  
  5925.    Label3.Caption = Tmp1
  5926.  
  5927. End Sub
  5928.  
  5929. Private Sub TestIsPalindrome()
  5930.  
  5931.    Dim Title      As String
  5932.    Dim Tmp        As String
  5933.    Dim Tmp1       As String
  5934.    Dim Tmp2       As String
  5935.    Dim i          As Integer
  5936.    Dim j          As Integer
  5937.    
  5938.  
  5939.    Tmp = Text1.Text
  5940.    Title = "[" & Tmp & "] is "
  5941.  
  5942.    Tmp1 = Title & IIf(cIsPalindrome(Tmp), "a Palindrome", " not a Palindrome") & Chr$(13) & Chr$(13)
  5943.  
  5944.    cStartBasisTimer
  5945.    For i = 1 To Item
  5946.       j = cIsPalindrome(Tmp)
  5947.    Next i
  5948.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5949.  
  5950.    Label3.Caption = Tmp1
  5951.  
  5952. End Sub
  5953.  
  5954. Private Sub TestIsX()
  5955.  
  5956.    Dim Title      As String
  5957.    Dim Tmp        As String
  5958.    Dim Tmp1       As String
  5959.    Dim Tmp2       As String
  5960.    Dim i          As Integer
  5961.    Dim j          As Integer
  5962.    
  5963.  
  5964.    Tmp = Text1.Text
  5965.  
  5966.    Tmp1 = "[" & Tmp & "] is " & Chr$(13)
  5967.  
  5968.    Tmp1 = Tmp1 & IIf(cIsDigit(Tmp), "Digit", " not Digit") & Chr$(13)
  5969.    Tmp1 = Tmp1 & IIf(cIsXdigit(Tmp), "XDigit", " not XDigit") & Chr$(13)
  5970.    Tmp1 = Tmp1 & IIf(cIsAlpha(Tmp), "Alpha", " not Alpha") & Chr$(13)
  5971.    Tmp1 = Tmp1 & IIf(cIsLower(Tmp), "Lower", " not Lower") & Chr$(13)
  5972.    Tmp1 = Tmp1 & IIf(cIsUpper(Tmp), "Upper", " not Upper") & Chr$(13)
  5973.    Tmp1 = Tmp1 & IIf(cIsAlnum(Tmp), "Alnum", " not Alnum") & Chr$(13)
  5974.    Tmp1 = Tmp1 & IIf(cIsUpper(Tmp), "Upper", " not Upper") & Chr$(13)
  5975.    Tmp1 = Tmp1 & IIf(cIsSpace(Tmp), "Space", " not Space") & Chr$(13)
  5976.    Tmp1 = Tmp1 & IIf(cIsPunct(Tmp), "Punct", " not Punct") & Chr$(13)
  5977.    Tmp1 = Tmp1 & IIf(cIsAscii(Tmp), "Ascii", " not Ascii") & Chr$(13)
  5978.    Tmp1 = Tmp1 & IIf(cIsCsym(Tmp), "Csym", " not Csym") & Chr$(13)
  5979.    Tmp1 = Tmp1 & IIf(cIsCsymf(Tmp), "Csymf", " not Csymf") & Chr$(13)
  5980.    Tmp1 = Tmp1 & IIf(cIsISBN(Tmp), "ISBN", " not ISBN") & Chr$(13) & Chr$(13)
  5981.    
  5982.    cStartBasisTimer
  5983.    For i = 1 To Item
  5984.       j = cIsDigit(Tmp)
  5985.    Next i
  5986.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5987.  
  5988.    Label3.Caption = Tmp1
  5989.    
  5990. End Sub
  5991.  
  5992. Private Sub TestKillDir()
  5993.  
  5994.    Dim Title      As String
  5995.    Dim Tmp        As String
  5996.    Dim Tmp1       As String
  5997.    Dim Tmp2       As String
  5998.    Dim i          As Integer
  5999.    Dim j          As Integer
  6000.  
  6001.    j = cMakeDir("c:\testing")
  6002.    Tmp1 = "Directory 'TESTING' " & IIf(cKillDir("c:\testing") = True, "deleted", "not deleted") & Chr$(13) & Chr$(13)
  6003.  
  6004.    cStartBasisTimer
  6005.    For i = 1 To ItemFile
  6006.       j = cKillDir("c:\testing")
  6007.    Next i
  6008.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6009.  
  6010.    Label3.Caption = Tmp1
  6011.  
  6012. End Sub
  6013.  
  6014. Private Sub TestKillFile()
  6015.  
  6016.    Dim Title      As String
  6017.    Dim Tmp        As String
  6018.    Dim Tmp1       As String
  6019.    Dim Tmp2       As String
  6020.    Dim i          As Integer
  6021.    Dim j          As Integer
  6022.    
  6023.  
  6024.    Close #1
  6025.    Open "XY~YX~XY.~~~" For Output As #1
  6026.    Print #1, "this is a test";
  6027.    Close #1
  6028.  
  6029.    Tmp1 = "File XY~YX~XY.~~~ " & IIf(cKillFile("XY~YX~XY.~~~") = True, "destroyed", "not destroyed") & Chr$(13) & Chr$(13)
  6030.  
  6031.    cStartBasisTimer
  6032.    For i = 1 To Item
  6033.       j = cKillFile("XY~YX~XY.~~~")
  6034.    Next i
  6035.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6036.  
  6037.    Label3.Caption = Tmp1
  6038.  
  6039. End Sub
  6040.  
  6041. Private Sub TestKillFiles()
  6042.  
  6043.    Dim Title      As String
  6044.    Dim Tmp        As String
  6045.    Dim Tmp1       As String
  6046.    Dim Tmp2       As String
  6047.    Dim i          As Integer
  6048.    Dim j          As Integer
  6049.    
  6050.    For i = 1 To 34
  6051.       Close #1
  6052.       Open "C:\XY~YX~XY." & i For Output As #1
  6053.       Print #1, "this is a test";
  6054.       Close #1
  6055.    Next i
  6056.  
  6057.    Tmp1 = "Number of killed Files from 'C:XY~YX~XY.1' to 'C:XY~YX~XY.34' is " & cKillFiles("C:\XY~YX~XY.*") & Chr$(13) & Chr$(13)
  6058.  
  6059.    cStartBasisTimer
  6060.    For i = 1 To ItemFile
  6061.       j = cKillFiles("C:\XY~YX~XY.~~~")
  6062.    Next i
  6063.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6064.  
  6065.    Label3.Caption = Tmp1
  6066.  
  6067. End Sub
  6068.  
  6069. Private Sub TestLanguage()
  6070.  
  6071.    Dim Title      As String
  6072.    Dim Tmp        As String
  6073.    Dim Tmp1       As String
  6074.    Dim Tmp2       As String
  6075.    Dim i          As Integer
  6076.    Dim j          As Integer
  6077.    Dim k          As Long
  6078.    Dim ErrCode    As Integer
  6079.  
  6080.    ReDim Lng(LNG_FRENCH To LNG_POLISH)
  6081.  
  6082.    k = Int(Now)
  6083.  
  6084.    Lng(LNG_FRENCH) = "LNG_FRENCH"
  6085.    Lng(LNG_DUTCH) = "LNG_DUTCH"
  6086.    Lng(LNG_GERMAN) = "LNG_GERMAN"
  6087.    Lng(LNG_ENGLISH) = "LNG_ENGLISH"
  6088.    Lng(LNG_ITALIAN) = "LNG_ITALIAN"
  6089.    Lng(LNG_SPANISH) = "LNG_SPANISH"
  6090.    Lng(LNG_CATALAN) = "LNG_CATALAN"
  6091.    Lng(LNG_POLISH) = "LNG_POLISH"
  6092.  
  6093.    Tmp1 = ""
  6094.  
  6095.    For i = LNG_FRENCH To LNG_POLISH
  6096.       Tmp1 = Tmp1 + Lng(i) + " : " + cGetLongDay(i, WeekDay(k)) & " " & Day(k) & " " & cGetLongMonth(i, Month(k)) & " " & Year(k) & Chr$(13)
  6097.    Next i
  6098.  
  6099.    Tmp1 = Tmp1 + Chr$(13)
  6100.  
  6101.    For i = LNG_FRENCH To LNG_POLISH
  6102.       Tmp1 = Tmp1 + Lng(i) + " : " + cGetShortDay(i, WeekDay(k)) & " " & Day(k) & " " & cGetShortMonth(i, Month(k)) & " " & Year(k) & Chr$(13)
  6103.    Next i
  6104.  
  6105.    Tmp1 = Tmp1 + Chr$(13)
  6106.  
  6107.    cStartBasisTimer
  6108.    For i = 1 To Item
  6109.       Tmp = cGetLongMonth(LNG_FRENCH, 12)
  6110.    Next i
  6111.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6112.  
  6113.    Label3.Caption = Tmp1
  6114.  
  6115. End Sub
  6116.  
  6117. Private Sub TestLrc()
  6118.  
  6119.    Dim Title      As String
  6120.    Dim Tmp        As String
  6121.    Dim Tmp1       As String
  6122.    Dim Tmp2       As String
  6123.    Dim i          As Integer
  6124.    Dim j          As Integer
  6125.    
  6126.  
  6127.    Tmp = Chr$(2) & "0a12721536"
  6128.    Tmp1 = "Lrc for [" & Tmp & "] is " & cLrc(Tmp) & Chr$(13) & Chr$(13)
  6129.  
  6130.    cStartBasisTimer
  6131.    For i = 1 To Item
  6132.       Tmp2 = cLrc(Tmp)
  6133.    Next i
  6134.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6135.  
  6136.    Label3.Caption = Tmp1
  6137.  
  6138. End Sub
  6139.  
  6140. Private Sub TestMakeDir()
  6141.  
  6142.    Dim Title      As String
  6143.    Dim Tmp        As String
  6144.    Dim Tmp1       As String
  6145.    Dim Tmp2       As String
  6146.    Dim i          As Integer
  6147.    Dim j          As Integer
  6148.  
  6149.    j = cKillDir("testing")
  6150.    Tmp1 = "Directory 'TESTING' " & IIf(cMakeDir("testing") = True, "created", "not created") & Chr$(13) & Chr$(13)
  6151.  
  6152.    cStartBasisTimer
  6153.    For i = 1 To ItemFile
  6154.       j = cMakeDir("testing")
  6155.    Next i
  6156.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6157.  
  6158.    Label3.Caption = Tmp1
  6159.  
  6160. End Sub
  6161.  
  6162. Private Sub TestMakePath()
  6163.  
  6164.    Dim Title      As String
  6165.    Dim Tmp        As String
  6166.    Dim Tmp1       As String
  6167.    Dim Tmp2       As String
  6168.    Dim Tmp3       As String
  6169.    Dim i          As Integer
  6170.    Dim N          As Integer
  6171.    Dim j          As Long
  6172.    Dim SPLITPATH  As tagSPLITPATH
  6173.  
  6174.    Tmp1 = ""
  6175.    Tmp = cMakePath("c", "tmp", "test", "dat")
  6176.  
  6177.    Tmp1 = Tmp1 & "Make Path of (c,tmp,test,dat) is '" & Tmp & "'" & Chr$(13) & Chr$(13)
  6178.    
  6179.    Tmp1 = Tmp1 & "Split Path '" & Tmp & "' into four components is :" & Chr$(13) & Chr$(13)
  6180.    N = cSplitPath(Tmp, SPLITPATH)
  6181.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDrive & Chr$(13)
  6182.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDir & Chr$(13)
  6183.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nName & Chr$(13)
  6184.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nExt & Chr$(13) & Chr$(13)
  6185.  
  6186.    cStartBasisTimer
  6187.    For i = 1 To Item
  6188.       Tmp = cMakePath("c", "tmp", "test", "dat")
  6189.    Next i
  6190.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6191.  
  6192.    Label3.Caption = Tmp1
  6193.  
  6194. End Sub
  6195.  
  6196. Private Sub TestMatrixAdd()
  6197.  
  6198.    Dim Tmp1       As String
  6199.  
  6200.    Dim TmpA       As String
  6201.    Dim TmpB       As String
  6202.    Dim TmpC       As String
  6203.  
  6204.    Dim i          As Integer
  6205.    Dim j          As Integer
  6206.    
  6207.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  6208.    ReDim ArrayB(1 To 3, 1 To 3) As Double
  6209.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  6210.  
  6211.    Randomize Timer
  6212.  
  6213.    For i = 1 To 3
  6214.       For j = 1 To 3
  6215.          ArrayA(i, j) = Int(RandI * Rnd(1))
  6216.          ArrayB(i, j) = Int(RandI * Rnd(1))
  6217.          ArrayC(i, j) = 0
  6218.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  6219.          TmpB = TmpB + Format$(ArrayB(i, j), "00000  ")
  6220.       Next j
  6221.       TmpA = TmpA + Chr$(13)
  6222.       TmpB = TmpB + Chr$(13)
  6223.    Next i
  6224.  
  6225.    Call cMatrixAdd(3, ArrayA(), ArrayB(), ArrayC())
  6226.  
  6227.    For i = 1 To 3
  6228.       For j = 1 To 3
  6229.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  6230.       Next j
  6231.       TmpC = TmpC + Chr$(13)
  6232.    Next i
  6233.  
  6234.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  6235.    Tmp1 = Tmp1 & "Second array (B) is " & Chr$(13) & Chr$(13) & TmpB & Chr$(13)
  6236.    Tmp1 = Tmp1 & "The sum (A) + (B) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  6237.  
  6238.    cStartBasisTimer
  6239.    For i = 1 To ItemFile
  6240.       Call cMatrixAdd(3, ArrayA(), ArrayB(), ArrayC())
  6241.    Next i
  6242.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6243.  
  6244.    Label3.Caption = Tmp1
  6245.  
  6246. End Sub
  6247.  
  6248. Private Sub TestMatrixCompare()
  6249.  
  6250.    Dim Tmp1       As String
  6251.  
  6252.    Dim TmpA       As String
  6253.    Dim TmpC       As String
  6254.  
  6255.    Dim i          As Integer
  6256.    Dim j          As Integer
  6257.  
  6258.    Dim Idem       As Integer
  6259.    
  6260.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  6261.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  6262.  
  6263.    Randomize Timer
  6264.  
  6265.    For i = 1 To 3
  6266.       For j = 1 To 3
  6267.          ArrayA(i, j) = Int(RandI * Rnd(1))
  6268.          ArrayC(i, j) = Int(RandI * Rnd(1))
  6269.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  6270.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  6271.       Next j
  6272.       TmpA = TmpA + Chr$(13)
  6273.       TmpC = TmpC + Chr$(13)
  6274.    Next i
  6275.  
  6276.    Idem = cMatrixCompare(3, ArrayA(), ArrayC())
  6277.  
  6278.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  6279.    Tmp1 = Tmp1 & "Second array (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  6280.    Tmp1 = Tmp1 & "Compare of (A) = (C) is " & Idem & Chr$(13) & Chr$(13)
  6281.  
  6282.    TmpA = ""
  6283.    TmpC = ""
  6284.  
  6285.    For i = 1 To 3
  6286.       For j = 1 To 3
  6287.          ArrayA(i, j) = Int(RandI * Rnd(1))
  6288.          ArrayC(i, j) = ArrayA(i, j)
  6289.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  6290.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  6291.       Next j
  6292.       TmpA = TmpA + Chr$(13)
  6293.       TmpC = TmpC + Chr$(13)
  6294.    Next i
  6295.  
  6296.    Idem = cMatrixCompare(3, ArrayA(), ArrayC())
  6297.  
  6298.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  6299.    Tmp1 = Tmp1 & "Second array (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  6300.    Tmp1 = Tmp1 & "Compare of (A) = (C) is " & Idem & Chr$(13) & Chr$(13)
  6301.  
  6302.    cStartBasisTimer
  6303.    For i = 1 To ItemFile
  6304.       Idem = cMatrixCompare(3, ArrayA(), ArrayC())
  6305.    Next i
  6306.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6307.  
  6308.    Label3.Caption = Tmp1
  6309.  
  6310. End Sub
  6311.  
  6312. Private Sub TestMatrixCopy()
  6313.  
  6314.    Dim Tmp1       As String
  6315.  
  6316.    Dim TmpA       As String
  6317.    Dim TmpC       As String
  6318.  
  6319.    Dim i          As Integer
  6320.    Dim j          As Integer
  6321.    
  6322.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  6323.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  6324.  
  6325.    Randomize Timer
  6326.  
  6327.    For i = 1 To 3
  6328.       For j = 1 To 3
  6329.          ArrayA(i, j) = Int(RandI * Rnd(1))
  6330.          ArrayC(i, j) = 0
  6331.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  6332.       Next j
  6333.       TmpA = TmpA + Chr$(13)
  6334.    Next i
  6335.  
  6336.    Call cMatrixCopy(3, ArrayA(), ArrayC())
  6337.  
  6338.    For i = 1 To 3
  6339.       For j = 1 To 3
  6340.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  6341.       Next j
  6342.       TmpC = TmpC + Chr$(13)
  6343.    Next i
  6344.  
  6345.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  6346.    Tmp1 = Tmp1 & "Copy of (A) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  6347.  
  6348.    cStartBasisTimer
  6349.    For i = 1 To ItemFile
  6350.       Call cMatrixCopy(3, ArrayA(), ArrayC())
  6351.    Next i
  6352.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6353.  
  6354.    Label3.Caption = Tmp1
  6355.  
  6356. End Sub
  6357.  
  6358. Private Sub TestMatrixDet()
  6359.  
  6360.    Dim Tmp1       As String
  6361.  
  6362.    Dim TmpA       As String
  6363.    Dim TmpC       As String
  6364.  
  6365.    Dim i          As Integer
  6366.    Dim j          As Integer
  6367.  
  6368.    Dim det        As Double
  6369.    Dim nSize      As Integer
  6370.  
  6371.    nSize = 3
  6372.    
  6373.    ReDim ArrayA(1 To nSize, 1 To nSize) As Double
  6374.  
  6375.    Randomize Timer
  6376.  
  6377.    For i = 1 To nSize
  6378.       For j = 1 To nSize
  6379.          ArrayA(i, j) = Int(RandI * Rnd(1))
  6380.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  6381.       Next j
  6382.       TmpA = TmpA + Chr$(13)
  6383.    Next i
  6384.  
  6385.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  6386.    Tmp1 = Tmp1 & "Det of (A) = " & cMatrixDet(nSize, ArrayA()) & Chr$(13) & Chr$(13)
  6387.  
  6388.    cStartBasisTimer
  6389.    For i = 1 To ItemFile
  6390.       det = cMatrixDet(nSize, ArrayA())
  6391.       DoEvents
  6392.    Next i
  6393.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6394.  
  6395.    Label3.Caption = Tmp1
  6396.  
  6397. End Sub
  6398.  
  6399. Private Sub TestMatrixInv()
  6400.  
  6401.    Dim Tmp1       As String
  6402.  
  6403.    Dim TmpA       As String
  6404.    Dim TmpC       As String
  6405.  
  6406.    Dim i          As Integer
  6407.    Dim j          As Integer
  6408.    Dim result     As Integer
  6409.    
  6410.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  6411.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  6412.  
  6413.    Randomize Timer
  6414.  
  6415.    result = cMatrixFill(3, ArrayA(), MATRIX_ZERO)
  6416.    result = cMatrixFill(3, ArrayC(), MATRIX_UNIT)
  6417.  
  6418.    For i = 1 To 3
  6419.       For j = 1 To 3
  6420.          ArrayA(i, j) = Int(RandI * Rnd(1))
  6421.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  6422.       Next j
  6423.       TmpA = TmpA + Chr$(13)
  6424.    Next i
  6425.    
  6426.    result = cMatrixInv(3, ArrayA(), ArrayC())
  6427.  
  6428.    If (result = True) Then
  6429.  
  6430.       For i = 1 To 3
  6431.          For j = 1 To 3
  6432.             TmpC = TmpC + Format$(ArrayC(i, j), "0.0000000  ")
  6433.          Next j
  6434.          TmpC = TmpC + Chr$(13)
  6435.       Next i
  6436.  
  6437.    Else
  6438.  
  6439.       TmpC = " 'can be inverted'"
  6440.  
  6441.    End If
  6442.  
  6443.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & TmpA & Chr$(13)
  6444.    Tmp1 = Tmp1 & "Inv of (A) = (C) is " & Chr$(13) & TmpC & Chr$(13)
  6445.  
  6446.    '
  6447.  
  6448.    TmpA = ""
  6449.    TmpC = ""
  6450.  
  6451.    result = cMatrixFill(3, ArrayA(), MATRIX_ZERO)
  6452.    result = cMatrixFill(3, ArrayC(), MATRIX_ZERO)
  6453.  
  6454.    For i = 1 To 3
  6455.       For j = 1 To 3
  6456.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  6457.       Next j
  6458.       TmpA = TmpA + Chr$(13)
  6459.    Next i
  6460.    
  6461.    result = cMatrixInv(3, ArrayA(), ArrayC())
  6462.  
  6463.    If (result = True) Then
  6464.  
  6465.       For i = 1 To 3
  6466.          For j = 1 To 3
  6467.             TmpC = TmpC + Format$(ArrayC(i, j), "0.0000000  ")
  6468.          Next j
  6469.          TmpC = TmpC + Chr$(13)
  6470.       Next i
  6471.  
  6472.    Else
  6473.  
  6474.       TmpC = " 'can be inverted'"
  6475.  
  6476.    End If
  6477.  
  6478.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & TmpA & Chr$(13)
  6479.    Tmp1 = Tmp1 & "Inv of (A) = (C) is " & Chr$(13) & TmpC & Chr$(13) & Chr$(13)
  6480.  
  6481.    For i = 1 To 3
  6482.       For j = 1 To 3
  6483.          ArrayA(i, j) = Int(RandI * Rnd(1))
  6484.       Next j
  6485.    Next i
  6486.  
  6487.    cStartBasisTimer
  6488.    For i = 1 To ItemFile
  6489.       result = cMatrixInv(3, ArrayA(), ArrayC())
  6490.    Next i
  6491.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6492.  
  6493.    Label3.Caption = Tmp1
  6494.  
  6495. End Sub
  6496.  
  6497. Private Sub TestMatrixMinCo()
  6498.  
  6499.    Dim Tmp1       As String
  6500.  
  6501.    Dim TmpA       As String
  6502.    Dim TmpC       As String
  6503.  
  6504.    Dim i          As Integer
  6505.    Dim j          As Integer
  6506.  
  6507.    Dim cofact     As Double
  6508.    Dim nSize      As Integer
  6509.  
  6510.    nSize = 3
  6511.    
  6512.    ReDim ArrayA(1 To nSize, 1 To nSize) As Double
  6513.  
  6514.    Randomize Timer
  6515.  
  6516.    For i = 1 To nSize
  6517.       For j = 1 To nSize
  6518.          ArrayA(i, j) = Int(RandI * Rnd(1))
  6519.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  6520.       Next j
  6521.       TmpA = TmpA + Chr$(13)
  6522.    Next i
  6523.  
  6524.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13) & Chr$(13)
  6525.    Tmp1 = Tmp1 & "CoFactor of A(1,1) = " & cMatrixCoFactor(nSize, ArrayA(), 1, 1) & Chr$(13)
  6526.    Tmp1 = Tmp1 & "CoFactor of A(2,2) = " & cMatrixCoFactor(nSize, ArrayA(), 2, 2) & Chr$(13)
  6527.    Tmp1 = Tmp1 & "CoFactor of A(3,3) = " & cMatrixCoFactor(nSize, ArrayA(), 3, 3) & Chr$(13) & Chr$(13)
  6528.    Tmp1 = Tmp1 & "Minor of A(1,1) = " & cMatrixMinor(nSize, ArrayA(), 1, 1) & Chr$(13)
  6529.    Tmp1 = Tmp1 & "Minor of A(2,2) = " & cMatrixMinor(nSize, ArrayA(), 2, 2) & Chr$(13)
  6530.    Tmp1 = Tmp1 & "Minor of A(3,3) = " & cMatrixMinor(nSize, ArrayA(), 3, 3) & Chr$(13) & Chr$(13)
  6531.  
  6532.    cStartBasisTimer
  6533.    For i = 1 To ItemFile
  6534.       cofact = cMatrixCoFactor(nSize, ArrayA(), 1, 1)
  6535.    Next i
  6536.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6537.  
  6538.    Label3.Caption = Tmp1
  6539.  
  6540. End Sub
  6541.  
  6542. Private Sub TestMatrixMul()
  6543.  
  6544.    Dim Tmp1       As String
  6545.  
  6546.    Dim TmpA       As String
  6547.    Dim TmpB       As String
  6548.    Dim TmpC       As String
  6549.  
  6550.    Dim i          As Integer
  6551.    Dim j          As Integer
  6552.    
  6553.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  6554.    ReDim ArrayB(1 To 3, 1 To 3) As Double
  6555.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  6556.  
  6557.    Randomize Timer
  6558.  
  6559.    For i = 1 To 3
  6560.       For j = 1 To 3
  6561.          ArrayA(i, j) = Int(RandI * Rnd(1))
  6562.          ArrayB(i, j) = Int(RandI * Rnd(1))
  6563.          ArrayC(i, j) = 0
  6564.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  6565.          TmpB = TmpB + Format$(ArrayB(i, j), "00000  ")
  6566.       Next j
  6567.       TmpA = TmpA + Chr$(13)
  6568.       TmpB = TmpB + Chr$(13)
  6569.    Next i
  6570.  
  6571.    Call cMatrixMul(3, ArrayA(), ArrayB(), ArrayC())
  6572.  
  6573.    For i = 1 To 3
  6574.       For j = 1 To 3
  6575.          TmpC = TmpC + Format$(ArrayC(i, j), "000000000000  ")
  6576.       Next j
  6577.       TmpC = TmpC + Chr$(13)
  6578.    Next i
  6579.  
  6580.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  6581.    Tmp1 = Tmp1 & "Second array (B) is " & Chr$(13) & Chr$(13) & TmpB & Chr$(13)
  6582.    Tmp1 = Tmp1 & "The multiply (A) . (B) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  6583.  
  6584.    cStartBasisTimer
  6585.    For i = 1 To ItemFile
  6586.       Call cMatrixMul(3, ArrayA(), ArrayB(), ArrayC())
  6587.    Next i
  6588.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6589.  
  6590.    Label3.Caption = Tmp1
  6591.  
  6592. End Sub
  6593.  
  6594. Private Sub TestMatrixSub()
  6595.  
  6596.    Dim Tmp1       As String
  6597.  
  6598.    Dim TmpA       As String
  6599.    Dim TmpB       As String
  6600.    Dim TmpC       As String
  6601.  
  6602.    Dim i          As Integer
  6603.    Dim j          As Integer
  6604.    
  6605.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  6606.    ReDim ArrayB(1 To 3, 1 To 3) As Double
  6607.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  6608.  
  6609.    Randomize Timer
  6610.  
  6611.    For i = 1 To 3
  6612.       For j = 1 To 3
  6613.          ArrayA(i, j) = Int(RandI * Rnd(1))
  6614.          ArrayB(i, j) = Int(RandI * Rnd(1))
  6615.          ArrayC(i, j) = 0
  6616.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  6617.          TmpB = TmpB + Format$(ArrayB(i, j), "00000  ")
  6618.       Next j
  6619.       TmpA = TmpA + Chr$(13)
  6620.       TmpB = TmpB + Chr$(13)
  6621.    Next i
  6622.  
  6623.    Call cMatrixSub(3, ArrayA(), ArrayB(), ArrayC())
  6624.  
  6625.    For i = 1 To 3
  6626.       For j = 1 To 3
  6627.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  6628.       Next j
  6629.       TmpC = TmpC + Chr$(13)
  6630.    Next i
  6631.  
  6632.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  6633.    Tmp1 = Tmp1 & "Second array (B) is " & Chr$(13) & Chr$(13) & TmpB & Chr$(13)
  6634.    Tmp1 = Tmp1 & "The substract (A) - (B) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  6635.  
  6636.    cStartBasisTimer
  6637.    For i = 1 To ItemFile
  6638.       Call cMatrixSub(3, ArrayA(), ArrayB(), ArrayC())
  6639.    Next i
  6640.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6641.  
  6642.    Label3.Caption = Tmp1
  6643.  
  6644. End Sub
  6645.  
  6646. Private Sub TestMatrixSymToeplitz()
  6647.  
  6648.    Dim Tmp1       As String
  6649.  
  6650.    Dim TmpA       As String
  6651.    Dim TmpC       As String
  6652.  
  6653.    Dim i          As Integer
  6654.    Dim j          As Integer
  6655.    Dim result     As Integer
  6656.    
  6657.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  6658.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  6659.  
  6660.    Randomize Timer
  6661.  
  6662.    For i = 1 To 1
  6663.       For j = 1 To 3
  6664.          ArrayA(i, j) = Int(RandI * Rnd(1))
  6665.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  6666.       Next j
  6667.       TmpA = TmpA + Chr$(13)
  6668.    Next i
  6669.  
  6670.    result = cMatrixSymToeplitz(3, ArrayA(), ArrayC())
  6671.  
  6672.    For i = 1 To 3
  6673.       For j = 1 To 3
  6674.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  6675.       Next j
  6676.       TmpC = TmpC + Chr$(13)
  6677.    Next i
  6678.  
  6679.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  6680.    Tmp1 = Tmp1 & "Symmetrical Toeplitz of (A) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  6681.  
  6682.    cStartBasisTimer
  6683.    For i = 1 To ItemFile
  6684.       result = cMatrixSymToeplitz(3, ArrayA(), ArrayC())
  6685.    Next i
  6686.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6687.  
  6688.    Label3.Caption = Tmp1
  6689.  
  6690. End Sub
  6691.  
  6692. Private Sub TestMatrixTranspose()
  6693.  
  6694.    Dim Tmp1       As String
  6695.  
  6696.    Dim TmpA       As String
  6697.    Dim TmpC       As String
  6698.  
  6699.    Dim i          As Integer
  6700.    Dim j          As Integer
  6701.    
  6702.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  6703.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  6704.  
  6705.    Randomize Timer
  6706.  
  6707.    For i = 1 To 3
  6708.       For j = 1 To 3
  6709.          ArrayA(i, j) = Int(RandI * Rnd(1))
  6710.          ArrayC(i, j) = 0
  6711.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  6712.       Next j
  6713.       TmpA = TmpA + Chr$(13)
  6714.    Next i
  6715.  
  6716.    Call cMatrixTranspose(3, ArrayA(), ArrayC())
  6717.  
  6718.    For i = 1 To 3
  6719.       For j = 1 To 3
  6720.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  6721.       Next j
  6722.       TmpC = TmpC + Chr$(13)
  6723.    Next i
  6724.  
  6725.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  6726.    Tmp1 = Tmp1 & "Transpose of (A) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  6727.  
  6728.    cStartBasisTimer
  6729.    For i = 1 To ItemFile
  6730.       Call cMatrixTranspose(3, ArrayA(), ArrayC())
  6731.    Next i
  6732.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6733.  
  6734.    Label3.Caption = Tmp1
  6735.  
  6736. End Sub
  6737.  
  6738. Private Sub TestMaxI()
  6739.  
  6740.    Dim Title      As String
  6741.    Dim Tmp        As String
  6742.    Dim Tmp1       As String
  6743.    Dim Tmp2       As String
  6744.    Dim i          As Integer
  6745.    Dim j          As Integer
  6746.    Dim m          As Double
  6747.    
  6748.    ReDim array(ItemMean) As Integer
  6749.    Randomize Timer
  6750.  
  6751.    For i = LBound(array) To UBound(array)
  6752.       array(i) = RandI * Rnd(1)
  6753.       List1.AddItem "" & array(i)
  6754.    Next i
  6755.    
  6756.    j = cSortI(array())
  6757.  
  6758.    For i = LBound(array) To UBound(array)
  6759.       List2.AddItem "" & array(i)
  6760.    Next i
  6761.  
  6762.    List2.ListIndex = List2.ListCount - 1
  6763.  
  6764.    Tmp1 = "The MAX of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cMaxI(array()) & Chr$(13) & Chr$(13)
  6765.  
  6766.    cStartBasisTimer
  6767.    For i = 1 To ItemFile
  6768.       m = cMaxI(array())
  6769.    Next i
  6770.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6771.  
  6772.    Label3.Caption = Tmp1
  6773.  
  6774. End Sub
  6775.  
  6776. Private Sub TestMD5()
  6777.  
  6778.    Dim Title      As String
  6779.    Dim Tmp        As String
  6780.    Dim Tmp1       As String
  6781.    Dim Tmp2       As String
  6782.    Dim Tmp3       As String
  6783.    Dim i          As Integer
  6784.    Dim j          As Long
  6785.  
  6786.    Tmp2 = "T2WIN-16"
  6787.    Tmp = Text1.Text
  6788.  
  6789.    Tmp1 = "HashMD5 for '" & Tmp2 & "' is " & cHashMD5(Tmp2) & Chr$(13) & Chr$(13)
  6790.    
  6791.    Tmp1 = Tmp1 & "HashMD5 for '" & Tmp & "' is " & cHashMD5(Tmp) & Chr$(13) & Chr$(13)
  6792.    
  6793.    Tmp1 = Tmp1 & "HashMD5 for '" & LCase$(Tmp2) & "' is " & cHashMD5(LCase$(Tmp2)) & Chr$(13) & Chr$(13)
  6794.    
  6795.    Tmp1 = Tmp1 & "HashMD5 for '" & LCase$(Tmp) & "' is " & cHashMD5(LCase$(Tmp)) & Chr$(13) & Chr$(13)
  6796.    
  6797.    Tmp1 = Tmp1 & "HashMD5 for '" & Left$(Tmp2, 3) & "' is " & cHashMD5(Left$(Tmp2, 3)) & Chr$(13) & Chr$(13)
  6798.  
  6799.    cStartBasisTimer
  6800.    For i = 1 To Item
  6801.       Tmp3 = cHashMD5(Tmp2)
  6802.    Next i
  6803.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6804.  
  6805.    Label3.Caption = Tmp1
  6806.  
  6807. End Sub
  6808.  
  6809. Private Sub TestMDA(Management As Integer)
  6810.  
  6811.    Dim Tmp        As String
  6812.    Dim ErrCode    As Integer
  6813.    Dim MDA        As tagMULTIPLEDISKARRAY
  6814.    Dim TE         As tagTASKENTRY
  6815.  
  6816.    ErrCode = cMakeDir("c:\t2w_tmp")
  6817.  
  6818.    MDA.nFilename = "c:\t2w_tmp\mda.tmp"
  6819.  
  6820.    MDA.nType(1) = DA_LONG     'long
  6821.    MDA.nIsTyped(1) = False
  6822.    MDA.nRows(1) = 20
  6823.    MDA.nCols(1) = 20
  6824.    MDA.nSheets(1) = 2
  6825.  
  6826.    MDA.nType(2) = 10          'string
  6827.    MDA.nIsTyped(2) = False
  6828.    MDA.nRows(2) = 20
  6829.    MDA.nCols(2) = 20
  6830.    MDA.nSheets(2) = 2
  6831.    
  6832.    MDA.nType(9) = Len(TE)     'type'd
  6833.    MDA.nIsTyped(9) = True
  6834.    MDA.nRows(9) = 20
  6835.    MDA.nCols(9) = 20
  6836.    MDA.nSheets(9) = 2
  6837.    
  6838.    Select Case Management
  6839.       Case True      'create
  6840.          ErrCode = cMDACreate(MDA, True)
  6841.       Case False     'use
  6842.          ErrCode = cMDACreate(MDA, False)
  6843.       Case 1         'clear all
  6844.          ErrCode = cMDACreate(MDA, False)
  6845.          If (ErrCode = -1) Then ErrCode = cMDAClear(1, MDA)
  6846.          If (ErrCode = -1) Then ErrCode = cMDAClear(2, MDA)
  6847.          If (ErrCode = -1) Then ErrCode = cMDAClear(9, MDA)
  6848.       Case 2         'clear sheet 2
  6849.          ErrCode = cMDACreate(MDA, False)
  6850.          If (ErrCode = -1) Then ErrCode = cMDAClearSheet(1, MDA, 2)
  6851.          If (ErrCode = -1) Then ErrCode = cMDAClearSheet(2, MDA, 2)
  6852.          If (ErrCode = -1) Then ErrCode = cMDAClearSheet(9, MDA, 2)
  6853.       Case 3         'clear last row
  6854.          ErrCode = cMDACreate(MDA, False)
  6855.          If (ErrCode = -1) Then ErrCode = cMDAClearRow(1, MDA, MDA.nRows(1), 1)
  6856.          If (ErrCode = -1) Then ErrCode = cMDAClearRow(2, MDA, MDA.nRows(2), 1)
  6857.          If (ErrCode = -1) Then ErrCode = cMDAClearRow(9, MDA, MDA.nRows(9), 1)
  6858.       Case 4         'clear last col
  6859.          ErrCode = cMDACreate(MDA, False)
  6860.          If (ErrCode = -1) Then ErrCode = cMDAClearCol(1, MDA, MDA.nCols(1), 1)
  6861.          If (ErrCode = -1) Then ErrCode = cMDAClearCol(2, MDA, MDA.nCols(2), 1)
  6862.          If (ErrCode = -1) Then ErrCode = cMDAClearCol(9, MDA, MDA.nCols(9), 1)
  6863.       Case 5         'clear last row in all sheets
  6864.          ErrCode = cMDACreate(MDA, False)
  6865.          If (ErrCode = -1) Then ErrCode = cMDAClearRow(1, MDA, MDA.nRows(1), -1)
  6866.          If (ErrCode = -1) Then ErrCode = cMDAClearRow(2, MDA, MDA.nRows(2), -1)
  6867.          If (ErrCode = -1) Then ErrCode = cMDAClearRow(9, MDA, MDA.nRows(9), -1)
  6868.       Case 6         'clear last col in all sheets
  6869.          ErrCode = cMDACreate(MDA, False)
  6870.          If (ErrCode = -1) Then ErrCode = cMDAClearCol(1, MDA, MDA.nCols(1), -1)
  6871.          If (ErrCode = -1) Then ErrCode = cMDAClearCol(2, MDA, MDA.nCols(2), -1)
  6872.          If (ErrCode = -1) Then ErrCode = cMDAClearCol(9, MDA, MDA.nCols(9), -1)
  6873.    End Select
  6874.  
  6875.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  6876.  
  6877.    If (ErrCode = True) Then
  6878.       
  6879.       Tmp = Tmp & "MDA.daSize          = " & MDA.daSize & Chr$(13)
  6880.       Tmp = Tmp & "MDA.Signature       = " & MDA.signature & Chr$(13)
  6881.       Tmp = Tmp & "MDA.nFilename       = " & Trim$(MDA.nFilename) & Chr$(13)
  6882.       Tmp = Tmp & "MDA.rHandle         = " & MDA.rHandle & Chr$(13)
  6883.       Tmp = Tmp & "MDA.rFileSize       = " & MDA.rFileSize & Chr$(13) & Chr$(13)
  6884.  
  6885.       Tmp = Tmp & "MDA.nType(1)(2)(9)        = (" & MDA.nType(1) & ") (" & MDA.nType(2) & ") (" & MDA.nType(9) & ")" & Chr$(13)
  6886.       Tmp = Tmp & "MDA.nIsTyped(1)(2)(9)     = (" & MDA.nIsTyped(1) & ") (" & MDA.nIsTyped(2) & ") (" & MDA.nIsTyped(9) & ")" & Chr$(13)
  6887.       Tmp = Tmp & "MDA.nRows(1)(2)(9)        = (" & MDA.nRows(1) & ") (" & MDA.nRows(2) & ") (" & MDA.nRows(9) & ")" & Chr$(13)
  6888.       Tmp = Tmp & "MDA.nCols(1)(2)(9)        = (" & MDA.nCols(1) & ") (" & MDA.nCols(2) & ") (" & MDA.nCols(9) & ")" & Chr$(13)
  6889.       Tmp = Tmp & "MDA.nSheets(1)(2)(9)      = (" & MDA.nSheets(1) & ") (" & MDA.nSheets(2) & ") (" & MDA.nSheets(9) & ")" & Chr$(13)
  6890.       Tmp = Tmp & "MDA.rElementSz(1)(2)(9)   = (" & MDA.rElementSz(1) & ") (" & MDA.rElementSz(2) & ") (" & MDA.rElementSz(9) & ")" & Chr$(13)
  6891.       Tmp = Tmp & "MDA.rSheetSz(1)(2)(9)     = (" & MDA.rSheetSz(1) & ") (" & MDA.rSheetSz(2) & ") (" & MDA.rSheetSz(9) & ")" & Chr$(13)
  6892.       Tmp = Tmp & "MDA.rOffsetPos(1)(2)(9)   = (" & MDA.rOffsetPos(1) & ") (" & MDA.rOffsetPos(2) & ") (" & MDA.rOffsetPos(9) & ")" & Chr$(13) & Chr$(13)
  6893.  
  6894.       If (Management = True) Then
  6895.  
  6896.          Call cMDAPut(1, MDA, 1, 1, 1, 123456789)
  6897.          Call cMDAPut(1, MDA, MDA.nRows(1), MDA.nCols(1), MDA.nSheets(1), 987654321)
  6898.       
  6899.          Call cMDAPut(2, MDA, 1, 1, 1, "S:1, ABCDEFGHIJ")
  6900.          Call cMDAPut(2, MDA, MDA.nRows(2), MDA.nCols(2), MDA.nSheets(2), "S:" & MDA.nSheets(2) & ", oprqstuvwxyz")
  6901.       
  6902.          ErrCode = cTasks(TE, True)
  6903.          Call cMDAPutType(9, MDA, 1, 1, 1, TE)
  6904.          ErrCode = cTasks(TE, False)
  6905.          Call cMDAPutType(9, MDA, MDA.nRows(9), MDA.nCols(9), MDA.nSheets(9), TE)
  6906.       
  6907.       End If
  6908.    
  6909.       Tmp = Tmp & "A:1  , R:1  , C:1  , S:1, Value : " & Trim$(cMDAGet(1, MDA, 1, 1, 1)) & "   , time : " & MDA.rTime & Chr$(13)
  6910.       Tmp = Tmp & "A:1  , R:" & MDA.nRows(1) & ", C:" & MDA.nCols(1) & ", S:" & MDA.nSheets(1) & ", Value : " & Trim$(cMDAGet(1, MDA, MDA.nRows(1), MDA.nCols(1), MDA.nSheets(1))) & "   , time : " & MDA.rTime & Chr$(13)
  6911.  
  6912.       Tmp = Tmp & "A:2  , R:1  , C:1  , S:1, Value : " & Trim$(cMDAGet(2, MDA, 1, 1, 1)) & "   , time : " & MDA.rTime & Chr$(13)
  6913.       Tmp = Tmp & "A:2  , R:" & MDA.nRows(2) & ", C:" & MDA.nCols(2) & ", S:" & MDA.nSheets(2) & ", Value : " & Trim$(cMDAGet(2, MDA, MDA.nRows(2), MDA.nCols(2), MDA.nSheets(2))) & "   , time : " & MDA.rTime & Chr$(13)
  6914.  
  6915.       Call cMDAGetType(9, MDA, 1, 1, 1, TE)
  6916.       Tmp = Tmp & "A:9  , R:1  , C:1  , S:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & MDA.rTime & Chr$(13)
  6917.       Call cMDAGetType(9, MDA, MDA.nRows(9), MDA.nCols(9), MDA.nSheets(9), TE)
  6918.       Tmp = Tmp & "A:9  , R:" & MDA.nRows(9) & ", C:" & MDA.nCols(9) & ", S:" & MDA.nSheets(9) & ", TE.szModule : " & cCompress(TE.szModule) & "   , time : " & MDA.rTime & Chr$(13)
  6919.  
  6920.    End If
  6921.  
  6922.    Call cMDAClose(MDA, False)
  6923.  
  6924.    Label3.Caption = Tmp
  6925.    
  6926. End Sub
  6927.  
  6928. Private Sub TestMeanI()
  6929.  
  6930.    Dim Title      As String
  6931.    Dim Tmp        As String
  6932.    Dim Tmp1       As String
  6933.    Dim Tmp2       As String
  6934.    Dim i          As Integer
  6935.    Dim j          As Integer
  6936.    Dim m          As Double
  6937.    
  6938.    ReDim array(ItemMean) As Integer
  6939.    Randomize Timer
  6940.  
  6941.    m = 0
  6942.    For i = LBound(array) To UBound(array)
  6943.       array(i) = Int(RandI * Rnd(1))
  6944.       m = m + array(i)
  6945.       List1.AddItem "" & array(i)
  6946.    Next i
  6947.    
  6948.    Tmp1 = "The Mean of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cMeanI(array()) & " (" & (m / (UBound(array) - LBound(array) + 1)) & ")" & Chr$(13) & Chr$(13)
  6949.  
  6950.    cStartBasisTimer
  6951.    For i = 1 To ItemFile
  6952.       m = cMeanI(array())
  6953.    Next i
  6954.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6955.  
  6956.    Label3.Caption = Tmp1
  6957.  
  6958. End Sub
  6959.  
  6960. Private Sub TestMenuChange()
  6961.  
  6962.    Call cSysMenuChange(Me.hWnd, 0, "&Restaurer")
  6963.    Call cSysMenuChange(Me.hWnd, 1, "&Positionner")
  6964.    Call cSysMenuChange(Me.hWnd, 2, "&Taille")
  6965.    Call cSysMenuChange(Me.hWnd, 3, "&Ic⌠ne")
  6966.    Call cSysMenuChange(Me.hWnd, 4, "&Plein Θcran")
  6967.    Call cSysMenuChange(Me.hWnd, 6, "&Fermer" + Chr$(9) + "Alt+F4")
  6968.    Call cSysMenuChange(Me.hWnd, 8, "&TΓche" + Chr$(9) + "Ctrl+Esc")
  6969.  
  6970. End Sub
  6971.  
  6972. Private Sub TestMin()
  6973.  
  6974.    Dim Title      As String
  6975.    Dim Tmp        As String
  6976.    Dim Tmp1       As String
  6977.    Dim Tmp2       As String
  6978.    Dim i          As Integer
  6979.    Dim j          As Long
  6980.  
  6981.    Tmp1 = "Min of [32760,1234567] is " & cMin(32760, 1234567) & Chr$(13)
  6982.    
  6983.    Tmp1 = Tmp1 + "Max of [32760,1234567] is " & cMax(32760, 1234567) & Chr$(13)
  6984.    
  6985.    cStartBasisTimer
  6986.    For i = 1 To Item
  6987.       j = cMin(32760, 1234567)
  6988.    Next i
  6989.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6990.  
  6991.    Label3.Caption = Tmp1
  6992.  
  6993. End Sub
  6994.  
  6995. Private Sub TestMinI()
  6996.  
  6997.    Dim Title      As String
  6998.    Dim Tmp        As String
  6999.    Dim Tmp1       As String
  7000.    Dim Tmp2       As String
  7001.    Dim i          As Integer
  7002.    Dim j          As Integer
  7003.    Dim m          As Double
  7004.    
  7005.    ReDim array(ItemMean) As Integer
  7006.    Randomize Timer
  7007.  
  7008.    For i = LBound(array) To UBound(array)
  7009.       array(i) = RandI * Rnd(1)
  7010.       List1.AddItem "" & array(i)
  7011.    Next i
  7012.    
  7013.    j = cSortI(array())
  7014.  
  7015.    For i = LBound(array) To UBound(array)
  7016.       List2.AddItem "" & array(i)
  7017.    Next i
  7018.  
  7019.    List2.ListIndex = 0
  7020.  
  7021.    Tmp1 = "The MIN of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cMinI(array()) & Chr$(13) & Chr$(13)
  7022.  
  7023.    cStartBasisTimer
  7024.    For i = 1 To ItemFile
  7025.       m = cMinI(array())
  7026.    Next i
  7027.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  7028.  
  7029.    Label3.Caption = Tmp1
  7030.  
  7031. End Sub
  7032.  
  7033. Private Sub TestMixChars()
  7034.  
  7035.    Dim Title      As String
  7036.    Dim Tmp        As String
  7037.    Dim Tmp1       As String
  7038.    Dim Tmp2       As String
  7039.    Dim i          As Integer
  7040.    Dim j          As Integer
  7041.                   
  7042.    Tmp = Text1.Text
  7043.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & Chr$(13) & Chr$(13)
  7044.    Tmp = "T2WIN-16"
  7045.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & Chr$(13) & Chr$(13)
  7046.    Tmp = "Nothing can beat the fox"
  7047.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & Chr$(13) & Chr$(13)
  7048.    Tmp = Text1.Text
  7049.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & Chr$(13) & Chr$(13)
  7050.                   
  7051.    cStartBasisTimer
  7052.    For i = 1 To Item
  7053.       Tmp2 = cMixChars(Tmp)
  7054.    Next i
  7055.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7056.  
  7057.    Label3.Caption = Tmp1
  7058.  
  7059. End Sub
  7060.  
  7061. Private Sub TestMnuLanguage()
  7062.    Load frmLng
  7063.    Call cShowWindow(frmLng.hWnd, 1, 340)
  7064.    frmLng.Show
  7065. End Sub
  7066.  
  7067. Private Sub TestMorse()
  7068.  
  7069.    Dim Title      As String
  7070.    Dim Tmp        As String
  7071.    Dim Tmp1       As String
  7072.    Dim Tmp2       As String
  7073.    Dim i          As Integer
  7074.    Dim j          As Integer
  7075.                   
  7076.    Tmp = "SOS"
  7077.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & Chr$(13) & Chr$(13)
  7078.    Tmp = "T2WIN-16"
  7079.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & Chr$(13) & Chr$(13)
  7080.    Tmp = "Nothing can beat the fox"
  7081.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & Chr$(13) & Chr$(13)
  7082.    Tmp = Text1.Text
  7083.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & Chr$(13) & Chr$(13)
  7084.                   
  7085.    cStartBasisTimer
  7086.    For i = 1 To Item
  7087.       Tmp2 = cMorse(Tmp)
  7088.    Next i
  7089.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7090.  
  7091.    Label3.Caption = Tmp1
  7092.  
  7093. End Sub
  7094.  
  7095. Private Sub TestMsgBox()
  7096.  
  7097.    Dim i       As Integer
  7098.    Dim N       As Integer
  7099.    Dim Tmp     As String
  7100.  
  7101.    Tmp = "'T2WIN-16'" & Chr$(13) & Chr$(13)
  7102.    Tmp = Tmp & " is a powerfull data link library for using with Visual Basic 3.0 for Windows." & Chr$(13) & Chr$(13)
  7103.    Tmp = Tmp & "It looks very better than the standard message box." & Chr$(13) & Chr$(13)
  7104.    Tmp = Tmp & "All push buttons are displayed in French." & Chr$(13) & Chr$(13)
  7105.    Tmp = Tmp & "The system menu is also in French." & Chr$(13) & Chr$(13)
  7106.    Tmp = Tmp & "A TimeOut of 10 seconds has been activated and displayed."
  7107.  
  7108.    For i = 0 To 5
  7109.       Call cLngBoxMsg(LNG_FRENCH, Tmp, i + (16 * i) + 512 + MB_MESSAGE_CENTER + MB_TIMEOUT_10 + MB_DISPLAY_TIMEOUT, "Message Box in French with TimeOut")
  7110.    Next i
  7111.  
  7112. End Sub
  7113.  
  7114. Private Sub TestOneCharFromLeft()
  7115.  
  7116.    Dim Title      As String
  7117.    Dim Tmp        As String
  7118.    Dim Tmp1       As String
  7119.    Dim Tmp2       As String
  7120.    Dim i          As Integer
  7121.    Dim j          As Integer
  7122.    
  7123.  
  7124.    Tmp = Text1.Text
  7125.    Title = "The 3,7,1 chars from left of [" & Tmp & "] are " & Chr$(13) & Chr$(13)
  7126.  
  7127.    Tmp = Text1.Text
  7128.  
  7129.    Tmp1 = Title & "3:" & cOneCharFromLeft(Tmp, 3) & " | 7:" & cOneCharFromLeft(Tmp, 7) & " | 1:" & cOneCharFromLeft(Tmp, 1) & Chr$(13) & Chr$(13)
  7130.  
  7131.    cStartBasisTimer
  7132.    For i = 1 To Item
  7133.       Tmp2 = cOneCharFromLeft(Tmp, 2)
  7134.    Next i
  7135.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7136.  
  7137.    Label3.Caption = Tmp1
  7138.    
  7139. End Sub
  7140.  
  7141. Private Sub TestOneCharFromRight()
  7142.  
  7143.    Dim Title      As String
  7144.    Dim Tmp        As String
  7145.    Dim Tmp1       As String
  7146.    Dim Tmp2       As String
  7147.    Dim i          As Integer
  7148.    Dim j          As Integer
  7149.    
  7150.  
  7151.    Tmp = Text1.Text
  7152.    Title = "The 3,7,1 chars from right of [" & Tmp & "] are " & Chr$(13) & Chr$(13)
  7153.  
  7154.    Tmp = Text1.Text
  7155.  
  7156.    Tmp1 = Title & "3:" & cOneCharFromRight(Tmp, 3) & " | 7:" & cOneCharFromRight(Tmp, 7) & " | 1:" & cOneCharFromRight(Tmp, 1) & Chr$(13) & Chr$(13)
  7157.  
  7158.    cStartBasisTimer
  7159.    For i = 1 To Item
  7160.       Tmp2 = cOneCharFromRight(Tmp, 2)
  7161.    Next i
  7162.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7163.  
  7164.    Label3.Caption = Tmp1
  7165.    
  7166. End Sub
  7167.  
  7168. Private Sub TestOrToken()
  7169.  
  7170.    Dim Title      As String
  7171.    Dim Tmp        As String
  7172.    Dim Tmp1       As String
  7173.    Dim Tmp2       As String
  7174.    Dim i          As Integer
  7175.    Dim j          As Integer
  7176.  
  7177.    Tmp = "FOX|OVER|THE"
  7178.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  7179.    Tmp1 = "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrToken(Tmp2, Tmp), "present", "not present") & Chr$(13) & Chr$(13)
  7180.    
  7181.    Tmp = "quick|jumps|the"
  7182.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  7183.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrToken(Tmp2, Tmp), "present", "not present") & Chr$(13) & Chr$(13)
  7184.  
  7185.    Tmp = "FOX\OVER\THE"
  7186.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  7187.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  7188.    
  7189.    Tmp = "quick\jumps\the"
  7190.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  7191.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  7192.  
  7193.    Tmp = "FOX/OVER/THE"
  7194.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  7195.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  7196.    
  7197.    Tmp = "quick\JUMPS\the"
  7198.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  7199.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  7200.  
  7201.    Tmp = LCase$("quick\jumps\THE")
  7202.    Tmp2 = LCase$("THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG")
  7203.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  7204.  
  7205.    cStartBasisTimer
  7206.    For i = 1 To Item
  7207.       j = cOrToken(Tmp2, Tmp)
  7208.    Next i
  7209.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7210.  
  7211.    Label3.Caption = Tmp1
  7212.  
  7213. End Sub
  7214.  
  7215. Private Sub TestPatternExtMatch()
  7216.  
  7217.    Dim Title      As String
  7218.    Dim Tmp        As String
  7219.    Dim Tmp1       As String
  7220.    Dim Tmp2       As String
  7221.    Dim Tmp3       As String
  7222.    Dim i          As Integer
  7223.    Dim j          As Integer
  7224.  
  7225.    Tmp2 = "Under the blue sky, the sun lights"
  7226.  
  7227.    Tmp1 = "PatternExtMatch '" & Tmp2 & "' with" & Chr$(13) & Chr$(13)
  7228.    
  7229.    Tmp3 = "*"
  7230.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7231.    Tmp3 = "*??*???*?"
  7232.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7233.    Tmp3 = "*Under*"
  7234.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7235.    Tmp3 = "*sky*"
  7236.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7237.    Tmp3 = "*lights"
  7238.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7239.    Tmp3 = "??der*sky*ligh??*"
  7240.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7241.    Tmp3 = "Under?the * s??,*"
  7242.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7243.    Tmp3 = "[U-U][a-z][a-z][a-z][a-z]?the *"
  7244.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7245.    Tmp3 = "[U-U][!A-Z][^A-Z][^A-Z][!A-Z]?the *[s-s]"
  7246.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7247.    Tmp3 = "~55~6E*~73"
  7248.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7249.    Tmp3 = "[Uu][Nn][dD][eE][opqrst]?the *[rstu]"
  7250.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7251.    Tmp3 = "Under?the *[~72~73~74~75]"
  7252.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  7253.  
  7254.    Tmp3 = "*under*"
  7255.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7256.    Tmp3 = "Under*sun"
  7257.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7258.    Tmp3 = "Under t??e*"
  7259.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7260.    Tmp3 = "[U-U][!a-z][^A-Z][^A-Z][!A-Z]?the *[!s-s]"
  7261.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7262.    Tmp3 = "~55~6G*~73"
  7263.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7264.    Tmp3 = "[Uu][Nn][dD][eE][opqrst]?the *[rStu]"
  7265.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7266.    Tmp3 = "Under?the *[~72~53~74~75]"
  7267.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  7268.  
  7269.    Tmp3 = "Under?the * s??,*"
  7270.    cStartBasisTimer
  7271.    For i = 1 To Item
  7272.       j = cPatternExtMatch(Tmp2, Tmp3)
  7273.    Next i
  7274.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7275.  
  7276.    Label3.Caption = Tmp1
  7277.  
  7278. End Sub
  7279.  
  7280. Private Sub TestPatternMatch()
  7281.  
  7282.    Dim Title      As String
  7283.    Dim Tmp        As String
  7284.    Dim Tmp1       As String
  7285.    Dim Tmp2       As String
  7286.    Dim Tmp3       As String
  7287.    Dim i          As Integer
  7288.    Dim j          As Integer
  7289.  
  7290.    Tmp2 = "Under the blue sky, the sun lights"
  7291.  
  7292.    Tmp1 = "PatternMatch '" & Tmp2 & "' with" & Chr$(13) & Chr$(13)
  7293.  
  7294.    Tmp3 = "*"
  7295.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  7296.    Tmp3 = "*??*???*?"
  7297.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  7298.    Tmp3 = "*Under*"
  7299.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  7300.    Tmp3 = "*sky*"
  7301.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  7302.    Tmp3 = "*lights"
  7303.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  7304.    Tmp3 = "??der*sky*ligh??*"
  7305.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  7306.    Tmp3 = "Under?the * s??,*"
  7307.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  7308.  
  7309.    Tmp3 = "*under*"
  7310.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  7311.    Tmp3 = "Under*sun"
  7312.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  7313.    Tmp3 = "Under t??e*"
  7314.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  7315.  
  7316.    Tmp3 = "Under?the * s??,*"
  7317.    cStartBasisTimer
  7318.    For i = 1 To Item
  7319.       j = cPatternMatch(Tmp2, Tmp3)
  7320.    Next i
  7321.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7322.  
  7323.    Label3.Caption = Tmp1
  7324.  
  7325. End Sub
  7326.  
  7327. Private Sub TestProperName()
  7328.  
  7329.    Dim Title      As String
  7330.    Dim Tmp        As String
  7331.    Dim Tmp1       As String
  7332.    Dim Tmp2       As String
  7333.    Dim i          As Integer
  7334.    Dim j          As Integer
  7335.  
  7336.    Tmp = Text1.Text
  7337.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  7338.    Tmp = "John fitz,jr"
  7339.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  7340.    Tmp = "john Fitz, jr"
  7341.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  7342.    Tmp = "macdonald"
  7343.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  7344.    Tmp = "mac donald"
  7345.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  7346.                   
  7347.    cStartBasisTimer
  7348.    For i = 1 To Item
  7349.       Tmp2 = cProperName(Tmp)
  7350.    Next i
  7351.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7352.  
  7353.    Label3.Caption = Tmp1
  7354.  
  7355. End Sub
  7356.  
  7357. Private Sub TestProperName2()
  7358.  
  7359.    Dim Title      As String
  7360.    Dim Tmp        As String
  7361.    Dim Tmp1       As String
  7362.    Dim Tmp2       As String
  7363.    Dim i          As Integer
  7364.    Dim j          As Integer
  7365.  
  7366.    Tmp = Text1.Text
  7367.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", 0) & "'" & Chr$(13) & Chr$(13)
  7368.    Tmp = "JOHN FITZ,JR"
  7369.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", PN_UPPERCASE Or PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  7370.    Tmp = "john Fitz,jr"
  7371.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  7372.    Tmp = "macdonald"
  7373.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", 0) & "'" & Chr$(13) & Chr$(13)
  7374.    Tmp = "mac donald"
  7375.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", 0) & "'" & Chr$(13) & Chr$(13)
  7376.    Tmp = "a.l. greene jr."
  7377.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  7378.    Tmp = "shale and sandstone and till"
  7379.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "the/of/a/an/and", PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  7380.    Tmp = "a sandstone or a shale"
  7381.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "the/or/of/a/an/and", PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  7382.    Tmp = "RR2 BARRHEAD"
  7383.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "rr2", PN_UPPERCASE Or PN_PUNCTUATION Or PN_KEEP_ORIGINAL) & "'" & Chr$(13) & Chr$(13)
  7384.    Tmp = "ANDY MACDONALD"
  7385.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "mac", PN_UPPERCASE Or PN_PUNCTUATION Or PN_KEEP_ORIGINAL Or PN_ONLY_LEADER_SPACE) & "'" & Chr$(13) & Chr$(13)
  7386.                   
  7387.    cStartBasisTimer
  7388.    For i = 1 To Item
  7389.       Tmp2 = cProperName2(Tmp, "", 0)
  7390.    Next i
  7391.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7392.  
  7393.    Label3.Caption = Tmp1
  7394.  
  7395. End Sub
  7396.  
  7397. Private Sub TestRcsCountFileDir()
  7398.  
  7399.    Dim Title      As String
  7400.    Dim Tmp        As String
  7401.    Dim Tmp1       As String
  7402.    Dim Tmp2       As String
  7403.    Dim i          As Integer
  7404.    Dim j          As Integer
  7405.    Dim k          As Integer
  7406.    
  7407.    Tmp1 = ""
  7408.  
  7409.    Tmp1 = Tmp1 & "Total directories in C: is " & cRcsCountFileDir(False, "C:", "", True) & Chr$(13)
  7410.    Tmp1 = Tmp1 & "Total directories in D: is " & cRcsCountFileDir(False, "D:", "", True) & Chr$(13)
  7411.    
  7412.    Tmp1 = Tmp1 & Chr$(13)
  7413.  
  7414.    Tmp1 = Tmp1 & "Total files in C: is " & cRcsCountFileDir(True, "C:", "", True) & Chr$(13)
  7415.    Tmp1 = Tmp1 & "Total files in D: is " & cRcsCountFileDir(True, "D:", "", True) & Chr$(13)
  7416.    
  7417.    Tmp1 = Tmp1 & Chr$(13)
  7418.  
  7419.    Tmp1 = Tmp1 & "Total files in C:*.DAT is " & cRcsCountFileDir(True, "C:", "*.DAT", True) & Chr$(13)
  7420.    Tmp1 = Tmp1 & "Total files in D:*.DAT is " & cRcsCountFileDir(True, "D:", "*.DAT", True) & Chr$(13)
  7421.    
  7422.    Tmp1 = Tmp1 & Chr$(13)
  7423.  
  7424.    Tmp1 = Tmp1 & "Total directories in C:\ is " & cRcsCountFileDir(False, "C:", "", False) & Chr$(13)
  7425.    Tmp1 = Tmp1 & "Total directories in D:\ is " & cRcsCountFileDir(False, "D:", "", False) & Chr$(13)
  7426.    
  7427.    Tmp1 = Tmp1 & Chr$(13)
  7428.  
  7429.    Tmp1 = Tmp1 & "Total files in C:\ is " & cRcsCountFileDir(True, "C:", "", False) & Chr$(13)
  7430.    Tmp1 = Tmp1 & "Total files in D:\ is " & cRcsCountFileDir(True, "D:", "", False) & Chr$(13)
  7431.    
  7432.    Tmp1 = Tmp1 & Chr$(13)
  7433.  
  7434.    Tmp1 = Tmp1 & "Total files in C:\*.DAT is " & cRcsCountFileDir(True, "C:", "*.DAT", False) & Chr$(13)
  7435.    Tmp1 = Tmp1 & "Total files in D:\*.DAT is " & cRcsCountFileDir(True, "D:", "*.DAT", False) & Chr$(13)
  7436.    
  7437.    Tmp1 = Tmp1 & Chr$(13)
  7438.  
  7439.    cStartBasisTimer
  7440.    For i = 1 To 10
  7441.       k = cRcsCountFileDir(False, "C:", "", False)
  7442.    Next i
  7443.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  7444.  
  7445.    Label3.Caption = Tmp1
  7446.  
  7447. End Sub
  7448.  
  7449. Private Sub TestRcsFilesSize()
  7450.  
  7451.    Dim Title      As String
  7452.    Dim Tmp        As String
  7453.    Dim Tmp1       As String
  7454.    Dim Tmp2       As String
  7455.    Dim i          As Integer
  7456.    Dim j          As Integer
  7457.    Dim k          As Long
  7458.    Dim Size1      As Long
  7459.    Dim Size2      As Long
  7460.  
  7461.    Tmp1 = ""
  7462.    Tmp1 = Tmp1 & "Size of files c:\*.* is " & cRcsFilesSize("c:\", "*.*", False) & Chr$(13)
  7463.    Tmp1 = Tmp1 & "Size of files c:\*.exe is " & cRcsFilesSize("c:\", "*.exe", False) & Chr$(13)
  7464.    Tmp1 = Tmp1 & "Size of files c:\*.com is " & cRcsFilesSize("c:\", "*.com", False) & Chr$(13)
  7465.    Tmp1 = Tmp1 & Chr$(13)
  7466.    Tmp1 = Tmp1 & "Size of files c:\*.* on disk is " & cRcsFilesSizeOnDisk("c:\", "*.*", False) & Chr$(13)
  7467.    Tmp1 = Tmp1 & "Size of files c:\*.exe on disk is " & cRcsFilesSizeOnDisk("c:\", "*.exe", False) & Chr$(13)
  7468.    Tmp1 = Tmp1 & "Size of files c:\*.com on disk is " & cRcsFilesSizeOnDisk("c:\", "*.com", False) & Chr$(13)
  7469.    Tmp1 = Tmp1 & Chr$(13)
  7470.    Tmp1 = Tmp1 & "Slack of files c:\*.* on disk is " & cRcsFilesSlack("c:\", "*.*", False, Size1, Size2) & " %" & Chr$(13)
  7471.    Tmp1 = Tmp1 & "Slack of files c:\*.exe on disk is " & cRcsFilesSlack("c:\", "*.exe", False, Size1, Size2) & " %" & Chr$(13)
  7472.    Tmp1 = Tmp1 & "Slack of files c:\*.com on disk is " & cRcsFilesSlack("c:\", "*.com", False, Size1, Size2) & " %" & Chr$(13)
  7473.  
  7474.    Tmp1 = Tmp1 & Chr$(13)
  7475.  
  7476.    Tmp1 = Tmp1 & "Size of files starting with c:\*.* is " & cRcsFilesSize("c:\", "*.*", True) & Chr$(13)
  7477.    Tmp1 = Tmp1 & "Size of files starting with c:\*.exe is " & cRcsFilesSize("c:\", "*.exe", True) & Chr$(13)
  7478.    Tmp1 = Tmp1 & "Size of files starting with c:\*.com is " & cRcsFilesSize("c:\", "*.com", True) & Chr$(13)
  7479.    Tmp1 = Tmp1 & Chr$(13)
  7480.    Tmp1 = Tmp1 & "Size of files starting with c:\*.* on disk is " & cRcsFilesSizeOnDisk("c:\", "*.*", True) & Chr$(13)
  7481.    Tmp1 = Tmp1 & "Size of files starting with c:\*.exe on disk is " & cRcsFilesSizeOnDisk("c:\", "*.exe", True) & Chr$(13)
  7482.    Tmp1 = Tmp1 & "Size of files starting with c:\*.com on disk is " & cRcsFilesSizeOnDisk("c:\", "*.com", True) & Chr$(13)
  7483.    Tmp1 = Tmp1 & Chr$(13)
  7484.    Tmp1 = Tmp1 & "Slack of files starting with c:\*.* on disk is " & cRcsFilesSlack("c:\", "*.*", True, Size1, Size2) & " %" & Chr$(13)
  7485.    Tmp1 = Tmp1 & "Slack of files starting with c:\*.exe on disk is " & cRcsFilesSlack("c:\", "*.exe", True, Size1, Size2) & " %" & Chr$(13)
  7486.    Tmp1 = Tmp1 & "Slack of files starting with c:\*.com on disk is " & cRcsFilesSlack("c:\", "*.com", True, Size1, Size2) & " %" & Chr$(13)
  7487.  
  7488.    Tmp1 = Tmp1 & Chr$(13)
  7489.  
  7490.    cStartBasisTimer
  7491.    For i = 1 To 10
  7492.       k = cRcsFilesSize("c:\", "*.*", False)
  7493.    Next i
  7494.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  7495.  
  7496.    Label3.Caption = Tmp1
  7497.  
  7498. End Sub
  7499.  
  7500. Private Sub TestReadLanguage()
  7501.    Load frmLng
  7502.    Call cShowWindow(frmLng.hWnd, 1, 340)
  7503.    frmLng.Show
  7504. End Sub
  7505.  
  7506. Private Sub TestRegistrationKey()
  7507.  
  7508.    Dim Title      As String
  7509.    Dim Tmp        As String
  7510.    Dim Tmp1       As String
  7511.    Dim Tmp2       As String
  7512.    Dim Tmp3       As String
  7513.    Dim i          As Integer
  7514.    Dim j          As Long
  7515.  
  7516.    Tmp2 = "T2WIN-16"
  7517.    Tmp3 = "12345"
  7518.    Tmp = Text1.Text
  7519.  
  7520.    Tmp1 = "Registration key for '" & Tmp2 & "' with '" & Tmp3 & "' is " & cRegistrationKey(Tmp2, Val(Tmp3)) & Chr$(13) & Chr$(13)
  7521.  
  7522.    Tmp1 = Tmp1 & "Registration key for '" & cBlockCharFromLeft(Tmp2, 1) & "n" & "' with '" & Tmp3 & "' is " & cRegistrationKey(cBlockCharFromLeft(Tmp2, 1) + "n", Val(Tmp3)) & Chr$(13) & Chr$(13)
  7523.    
  7524.    Tmp1 = Tmp1 & "Registration key for '" & Tmp & "' with '" & Tmp3 & "' is " & cRegistrationKey(Tmp, Val(Tmp3)) & Chr$(13) & Chr$(13)
  7525.    
  7526.    Tmp1 = Tmp1 & "Registration key for '" & LCase$(Tmp2) & "' with '" & Tmp3 & "' is " & cRegistrationKey(LCase$(Tmp2), Val(Tmp3)) & Chr$(13) & Chr$(13)
  7527.    
  7528.    Tmp1 = Tmp1 & "Registration key for '" & LCase$(Tmp) & "' with '" & Tmp3 & "' is " & cRegistrationKey(LCase$(Tmp), Val(Tmp3)) & Chr$(13) & Chr$(13)
  7529.    
  7530.    Tmp1 = Tmp1 & "Registration key for '" & Left$(Tmp2, 3) & "' with '" & Tmp3 & "' is " & cRegistrationKey(Left$(Tmp2, 3), Val(Tmp3)) & Chr$(13) & Chr$(13)
  7531.    
  7532.    cStartBasisTimer
  7533.    For i = 1 To Item
  7534.       j = cRegistrationKey(Tmp2, Val(Tmp3))
  7535.    Next i
  7536.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7537.  
  7538.    Label3.Caption = Tmp1
  7539.  
  7540. End Sub
  7541.  
  7542. Private Sub TestRemoveBlockChar()
  7543.  
  7544.    Dim Title      As String
  7545.    Dim Tmp        As String
  7546.    Dim Tmp1       As String
  7547.    Dim Tmp2       As String
  7548.    Dim i          As Integer
  7549.    Dim j          As Integer
  7550.    
  7551.  
  7552.    Tmp = Text1.Text
  7553.    Title = "Removing 3 chars from the 7 of [" & Tmp & "] is "
  7554.  
  7555.    Tmp = cRemoveBlockChar(Tmp, 7, 3)
  7556.  
  7557.    Tmp1 = Title & Tmp & Chr$(13) & Chr$(13)
  7558.  
  7559.    cStartBasisTimer
  7560.    For i = 1 To Item
  7561.       Tmp = cRemoveBlockChar(Tmp, 1, 2)
  7562.    Next i
  7563.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7564.  
  7565.    Label3.Caption = Tmp1
  7566.  
  7567. End Sub
  7568.  
  7569. Private Sub TestRemoveOneChar()
  7570.  
  7571.    Dim Title      As String
  7572.    Dim Tmp        As String
  7573.    Dim Tmp1       As String
  7574.    Dim Tmp2       As String
  7575.    Dim i          As Integer
  7576.    Dim j          As Integer
  7577.    
  7578.  
  7579.    Tmp = Text1.Text
  7580.    Title = "Removing the 7 char of [" & Tmp & "] is "
  7581.  
  7582.    Tmp = cRemoveOneChar(Tmp, 7)
  7583.  
  7584.    Tmp1 = Title & Tmp & Chr$(13) & Chr$(13)
  7585.  
  7586.    cStartBasisTimer
  7587.    For i = 1 To Item
  7588.       Tmp = cRemoveOneChar(Tmp, 1)
  7589.    Next i
  7590.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7591.  
  7592.    Label3.Caption = Tmp1
  7593.  
  7594. End Sub
  7595.  
  7596. Private Sub TestRenameFile()
  7597.  
  7598.    Dim Title      As String
  7599.    Dim Tmp        As String
  7600.    Dim Tmp1       As String
  7601.    Dim Tmp2       As String
  7602.    Dim i          As Integer
  7603.    Dim j          As Integer
  7604.  
  7605.    j = cKillFile("XY~YX~XY.~~~")
  7606.    j = cKillFile("XY-YX-XY.---")
  7607.  
  7608.    Close #1
  7609.    Open "XY~YX~XY.~~~" For Output As #1
  7610.    Print #1, "this is a test";
  7611.    Close #1
  7612.  
  7613.    Tmp1 = "File XY~YX~XY.~~~ " & IIf(cRenameFile("XY~YX~XY.~~~", "XY-YX-XY.---") = True, "renamed in XY-YX-XY.---", "is not renamed") & Chr$(13) & Chr$(13)
  7614.  
  7615.    cStartBasisTimer
  7616.    For i = 1 To ItemFile
  7617.       j = cRenameFile("XY~YX~XY.~~~", "XY-YX-XY.---")
  7618.    Next i
  7619.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  7620.  
  7621.    Label3.Caption = Tmp1
  7622.  
  7623. End Sub
  7624.  
  7625. Private Sub TestResizeString()
  7626.  
  7627.    Dim Title      As String
  7628.    Dim Tmp        As String
  7629.    Dim Tmp1       As String
  7630.    Dim Tmp2       As String
  7631.    Dim i          As Integer
  7632.    Dim j          As Integer
  7633.    
  7634.  
  7635.    Tmp = Text1.Text
  7636.    Tmp1 = Tmp & " is resized from " & Len(Tmp) & " to 5 chars " & cResizeString(Tmp, 5) & Chr$(13) & Chr$(13)
  7637.  
  7638.    cStartBasisTimer
  7639.    For i = 1 To Item
  7640.       Tmp2 = cResizeString(Tmp, 3)
  7641.    Next i
  7642.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7643.  
  7644.    Label3.Caption = Tmp1
  7645.  
  7646. End Sub
  7647.  
  7648. Private Sub TestResizeStringAndFill()
  7649.  
  7650.    Dim Title      As String
  7651.    Dim Tmp        As String
  7652.    Dim Tmp1       As String
  7653.    Dim Tmp2       As String
  7654.    Dim i          As Integer
  7655.    Dim j          As Integer
  7656.    
  7657.  
  7658.    Tmp = Text1.Text
  7659.    Tmp1 = Tmp & " is resized from " & Len(Tmp) & " to 35 chars and lengthened with @ is " & Chr$(13) & Chr$(13) & cResizeStringAndFill(Tmp, 35, "@") & Chr$(13) & Chr$(13)
  7660.  
  7661.    cStartBasisTimer
  7662.    For i = 1 To Item
  7663.       Tmp2 = cResizeStringAndFill(Tmp, 35, "@")
  7664.    Next i
  7665.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7666.  
  7667.    Label3.Caption = Tmp1
  7668.  
  7669. End Sub
  7670.  
  7671. Private Sub TestReverse()
  7672.  
  7673.    Dim Title      As String
  7674.    Dim Tmp        As String
  7675.    Dim Tmp1       As String
  7676.    Dim Tmp2       As String
  7677.    Dim i          As Integer
  7678.    Dim j          As Integer
  7679.    
  7680.  
  7681.    Tmp = Text1.Text
  7682.    Title = "Reverse of [" & Tmp & "] is "
  7683.  
  7684.    Tmp1 = Title & cReverse(Tmp) & Chr$(13) & Chr$(13)
  7685.  
  7686.    cStartBasisTimer
  7687.    For i = 1 To Item
  7688.       Tmp2 = cReverse(Tmp)
  7689.    Next i
  7690.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7691.  
  7692.    Label3.Caption = Tmp1
  7693.  
  7694. End Sub
  7695.  
  7696. Private Sub TestReverseAllBits()
  7697.  
  7698.    Dim Title      As String
  7699.    Dim Tmp        As String
  7700.    Dim Tmp1       As String
  7701.    Dim Tmp2       As String
  7702.    Dim i          As Integer
  7703.    Dim j          As Integer
  7704.    
  7705.  
  7706.    Tmp = Text1.Text
  7707.    Title = "Reverse all bits of [" & Tmp & "] is "
  7708.    Call cReverseAllBits(Tmp)
  7709.    Tmp1 = Title & Tmp & Chr$(13) & Chr$(13)
  7710.  
  7711.    Title = "Reverse all bits of [" & Tmp & "] is "
  7712.    Call cReverseAllBits(Tmp)
  7713.    Tmp1 = Tmp1 & Title & Tmp & Chr$(13) & Chr$(13)
  7714.  
  7715.    cStartBasisTimer
  7716.    For i = 1 To Item
  7717.       Call cReverseAllBits(Tmp)
  7718.    Next i
  7719.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7720.  
  7721.    Label3.Caption = Tmp1
  7722.  
  7723. End Sub
  7724.  
  7725. Private Sub TestReverseAllBitsByChar()
  7726.  
  7727.    Dim Title      As String
  7728.    Dim Tmp        As String
  7729.    Dim Tmp1       As String
  7730.    Dim Tmp2       As String
  7731.    Dim i          As Integer
  7732.    Dim j          As Integer
  7733.    
  7734.  
  7735.    Tmp = Text1.Text
  7736.    Title = "Reverse all bits by char of [" & Tmp & "] is "
  7737.    Call cReverseAllBitsByChar(Tmp)
  7738.    Tmp1 = Title & Tmp & Chr$(13) & Chr$(13)
  7739.  
  7740.    Title = "Reverse all bits by char of [" & Tmp & "] is "
  7741.    Call cReverseAllBitsByChar(Tmp)
  7742.    Tmp1 = Tmp1 & Title & Tmp & Chr$(13) & Chr$(13)
  7743.  
  7744.    cStartBasisTimer
  7745.    For i = 1 To Item
  7746.       Call cReverseAllBitsByChar(Tmp)
  7747.    Next i
  7748.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7749.  
  7750.    Label3.Caption = Tmp1
  7751.  
  7752. End Sub
  7753.  
  7754. Private Sub TestReverseSortI()
  7755.  
  7756.    Dim Title      As String
  7757.    Dim Tmp        As String
  7758.    Dim Tmp1       As String
  7759.    Dim Tmp2       As String
  7760.    Dim i          As Integer
  7761.    Dim j          As Integer
  7762.    Dim m          As Integer
  7763.    
  7764.    ReDim array(ItemMean) As Integer
  7765.    Randomize Timer
  7766.  
  7767.    For i = LBound(array) To UBound(array)
  7768.       array(i) = RandI * Rnd(1)
  7769.       List1.AddItem "" & array(i)
  7770.    Next i
  7771.    
  7772.    j = cReverseSortI(array())
  7773.  
  7774.    For i = LBound(array) To UBound(array)
  7775.       List2.AddItem "" & array(i)
  7776.    Next i
  7777.  
  7778.    cStartBasisTimer
  7779.    For i = 1 To ItemFile
  7780.       j = cReverseSortI(array())
  7781.    Next i
  7782.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  7783.  
  7784.    Label3.Caption = Tmp1
  7785.  
  7786. End Sub
  7787.  
  7788. Private Sub TestRndX()
  7789.  
  7790.    Dim Title      As String
  7791.    Dim Tmp        As String
  7792.    Dim Tmp1       As String
  7793.    Dim Tmp2       As String
  7794.    Dim i          As Integer
  7795.    Dim j          As Integer
  7796.  
  7797.    Call cRndInit(-1)
  7798.    
  7799.    Tmp1 = "Some random Integer number" & Chr$(13) & Chr$(13)
  7800.  
  7801.    For i = 1 To 2
  7802.       Tmp1 = Tmp1 & cRndI() & Chr$(13)
  7803.    Next i
  7804.  
  7805.    Tmp1 = Tmp1 & Chr$(13)
  7806.  
  7807.    Tmp1 = Tmp1 & "Some random Long number" & Chr$(13) & Chr$(13)
  7808.  
  7809.    For i = 1 To 2
  7810.       Tmp1 = Tmp1 & cRndL() & Chr$(13)
  7811.    Next i
  7812.  
  7813.    Tmp1 = Tmp1 & Chr$(13)
  7814.  
  7815.    Tmp1 = Tmp1 & "Some random Single number" & Chr$(13) & Chr$(13)
  7816.  
  7817.    For i = 1 To 2
  7818.       Tmp1 = Tmp1 & cRndS() & Chr$(13)
  7819.    Next i
  7820.  
  7821.    Tmp1 = Tmp1 & Chr$(13)
  7822.  
  7823.    Tmp1 = Tmp1 & "Some random Double number" & Chr$(13) & Chr$(13)
  7824.  
  7825.    For i = 1 To 2
  7826.       Tmp1 = Tmp1 & cRndD() & Chr$(13)
  7827.    Next i
  7828.  
  7829.    Tmp1 = Tmp1 & Chr$(13)
  7830.  
  7831.    Tmp1 = Tmp1 & "Some random Double number between 0.0 and 1.0" & Chr$(13) & Chr$(13)
  7832.  
  7833.    For i = 1 To 2
  7834.       Tmp1 = Tmp1 & cRnd() & Chr$(13)
  7835.    Next i
  7836.  
  7837.    Tmp1 = Tmp1 & Chr$(13)
  7838.  
  7839.    cStartBasisTimer
  7840.    For i = 1 To Item
  7841.       j = cRndI()
  7842.    Next i
  7843.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7844.  
  7845.    Label3.Caption = Tmp1
  7846.  
  7847. End Sub
  7848.  
  7849. Private Sub TestRtoA()
  7850.    Dim Tmp        As String
  7851.    Dim Tmp1       As String
  7852.    Tmp = UCase$(cArabicToRoman(Year(Int(Now))))
  7853.    Tmp1 = Tmp & " in Arabic is " & cRomanToArabic(LCase$(Tmp)) & Chr$(13)
  7854.    Tmp = UCase$(cArabicToRoman(Year(Int(Now)) - 1))
  7855.    Tmp1 = Tmp1 & Tmp & " in Arabic is " & cRomanToArabic(LCase$(Tmp)) & Chr$(13)
  7856.    Tmp = UCase$(cArabicToRoman(Year(Int(Now)) + 1))
  7857.    Tmp1 = Tmp1 & Tmp & " in Arabic is " & cRomanToArabic(LCase$(Tmp)) & Chr$(13)
  7858.    Label3.Caption = Tmp1
  7859. End Sub
  7860.  
  7861. Private Sub TestSearchI()
  7862.  
  7863.    Dim Title      As String
  7864.    Dim Tmp        As String
  7865.    Dim Tmp1       As String
  7866.    Dim Tmp2       As String
  7867.    Dim i          As Integer
  7868.    Dim j          As Integer
  7869.    Dim m          As Integer
  7870.    
  7871.    ReDim array(20) As Integer
  7872.    Call cRndInit(-1)
  7873.  
  7874.    For i = LBound(array) To UBound(array)
  7875.       array(i) = cRndI()
  7876.       List1.AddItem "" & array(i)
  7877.    Next i
  7878.  
  7879.    Tmp1 = Tmp1 & "Search '" & array(5) & "' is " & cSearchI(array(), array(5)) & Chr$(13)
  7880.    Tmp1 = Tmp1 & "Search '" & array(10) & "' is " & cSearchI(array(), array(10)) & Chr$(13)
  7881.    Tmp1 = Tmp1 & "Search '" & array(15) & "' is " & cSearchI(array(), array(15)) & Chr$(13)
  7882.    Tmp1 = Tmp1 & "Search '" & array(20) & "' is " & cSearchI(array(), array(20)) & Chr$(13)
  7883.    Tmp1 = Tmp1 & "Search '" & -1234 & "' is " & cSearchI(array(), -1234) & Chr$(13)
  7884.    
  7885.    cStartBasisTimer
  7886.    For i = 1 To ItemFile
  7887.       j = cSearchI(array(), array(1))
  7888.    Next i
  7889.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  7890.  
  7891.    Label3.Caption = Tmp1
  7892.  
  7893. End Sub
  7894.  
  7895. Private Sub TestSerial()
  7896.  
  7897.    Dim Tmp           As String
  7898.    Dim Tmp1          As String
  7899.    Dim getSD         As tagSERIALDATA
  7900.    Dim putSD         As tagSERIALDATA
  7901.    Dim i             As Integer
  7902.    Dim j             As Integer
  7903.  
  7904.    Call CreateFile
  7905.    
  7906.    Tmp1 = "TEST.DAT"
  7907.  
  7908.    Tmp = Tmp & "File '" & Tmp1 & "' is " & IIf(cIsSerial(Tmp1) = True, "serialized", "not serialized") & Chr$(13) & Chr$(13)
  7909.  
  7910.    putSD.Description1 = "T2WIN-16 demonstration"
  7911.    putSD.Description2 = "Under the blue sky, the sun lights"
  7912.    putSD.Number = 136
  7913.    Tmp = Tmp & "Put/Modify '" & Trim$(putSD.Description1) & "' - '" & Trim$(putSD.Description2) & "' - '" & putSD.Number & "'" & Chr$(13) & "into file '" & Tmp1 & "' is " & IIf(cSerialPut(Tmp1, putSD), "OK", "KO") & Chr$(13)
  7914.    i = cSerialGet(Tmp1, getSD)
  7915.    Tmp = Tmp & "Get from '" & Tmp1 & "' is : " & Chr$(13)
  7916.    Tmp = Tmp & "  description 1 : " & Trim$(getSD.Description1) & Chr$(13)
  7917.    Tmp = Tmp & "  description 2 : " & Trim$(getSD.Description2) & Chr$(13)
  7918.    Tmp = Tmp & "  number : " & getSD.Number & Chr$(13) & Chr$(13)
  7919.    
  7920.    Tmp = Tmp & "Add 2 to serialized number part into file '" & Tmp1 & "' is " & IIf(cSerialInc(Tmp1, 2), "OK", "KO") & Chr$(13)
  7921.    i = cSerialGet(Tmp1, getSD)
  7922.    Tmp = Tmp & "Get from '" & Tmp1 & "' is : " & Chr$(13)
  7923.    Tmp = Tmp & "  description 1 : " & Trim$(getSD.Description1) & Chr$(13)
  7924.    Tmp = Tmp & "  description 2 : " & Trim$(getSD.Description2) & Chr$(13)
  7925.    Tmp = Tmp & "  number : " & getSD.Number & Chr$(13) & Chr$(13)
  7926.  
  7927.    Tmp = Tmp & "Substract 9 to serialized number part into file '" & Tmp1 & "' is " & IIf(cSerialInc(Tmp1, -9), "OK", "KO") & Chr$(13)
  7928.    i = cSerialGet(Tmp1, getSD)
  7929.    Tmp = Tmp & "Get from '" & Tmp1 & "' is : " & Chr$(13)
  7930.    Tmp = Tmp & "  description 1 : " & Trim$(getSD.Description1) & Chr$(13)
  7931.    Tmp = Tmp & "  description 2 : " & Trim$(getSD.Description2) & Chr$(13)
  7932.    Tmp = Tmp & "  number : " & getSD.Number & Chr$(13) & Chr$(13)
  7933.  
  7934.    Tmp = Tmp & "File '" & Tmp1 & "' is " & IIf(cIsSerial(Tmp1) = True, "serialized", "not serialized") & Chr$(13) & Chr$(13)
  7935.  
  7936.    cStartBasisTimer
  7937.    For i = 1 To ItemFile
  7938.       j = cSerialGet(Tmp1, getSD)
  7939.    Next i
  7940.    Tmp = Tmp & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  7941.  
  7942.    Label3.Caption = Tmp
  7943.  
  7944. End Sub
  7945.  
  7946. Private Sub TestSetAllBits()
  7947.  
  7948.    Dim Title      As String
  7949.    Dim Tmp        As String
  7950.    Dim Tmp1       As String
  7951.    Dim Tmp2       As String
  7952.    Dim i          As Integer
  7953.    Dim j          As Integer
  7954.    
  7955.  
  7956.    Tmp = Text1.Text
  7957.    Title = "Set all bits of [" & Tmp & "] on True is "
  7958.    Call cSetAllBits(Tmp, True)
  7959.  
  7960.    Tmp1 = Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  7961.  
  7962.    Title = "Set all bits of [" & Tmp & "] on False is "
  7963.    Call cSetAllBits(Tmp, False)
  7964.  
  7965.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  7966.  
  7967.    cStartBasisTimer
  7968.    For i = 1 To Item
  7969.       Call cSetAllBits(Tmp, True)
  7970.    Next i
  7971.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7972.  
  7973.    Label3.Caption = Tmp1
  7974.  
  7975. End Sub
  7976.  
  7977. Private Sub TestSetBit()
  7978.  
  7979.    Dim Title      As String
  7980.    Dim Tmp        As String
  7981.    Dim Tmp1       As String
  7982.    Dim Tmp2       As String
  7983.    Dim i          As Integer
  7984.    Dim j          As Integer
  7985.    
  7986.  
  7987.    Tmp = Text1.Text
  7988.    Title = "Set bit 0,5,3 of [" & Tmp & "] on True is "
  7989.    Call cSetBit(Tmp, 0, True)
  7990.    Call cSetBit(Tmp, 5, True)
  7991.    Call cSetBit(Tmp, 3, True)
  7992.  
  7993.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  7994.  
  7995.    Title = "Set bit 22,30,38 of [" & Tmp & "] on False is "
  7996.    Call cSetBit(Tmp, 22, False)
  7997.    Call cSetBit(Tmp, 30, False)
  7998.    Call cSetBit(Tmp, 38, False)
  7999.  
  8000.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  8001.  
  8002.    Title = "Set bit 0,5,3 of [" & Tmp & "] on False is "
  8003.    Call cSetBit(Tmp, 0, False)
  8004.    Call cSetBit(Tmp, 5, False)
  8005.    Call cSetBit(Tmp, 3, False)
  8006.  
  8007.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  8008.  
  8009.    Title = "Set bit 22,30,38 of [" & Tmp & "] on True is "
  8010.    Call cSetBit(Tmp, 22, True)
  8011.    Call cSetBit(Tmp, 30, True)
  8012.    Call cSetBit(Tmp, 38, True)
  8013.  
  8014.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  8015.  
  8016.    cStartBasisTimer
  8017.    For i = 1 To Item
  8018.       Call cSetBit(Tmp, 7, True)
  8019.    Next i
  8020.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8021.  
  8022.    Label3.Caption = Tmp1
  8023.  
  8024. End Sub
  8025.  
  8026. Private Sub TestSetI()
  8027.  
  8028.    Dim Title      As String
  8029.    Dim Tmp        As String
  8030.    Dim Tmp1       As String
  8031.    Dim Tmp2       As String
  8032.    Dim i          As Integer
  8033.    Dim j          As Integer
  8034.    Dim m          As Double
  8035.    
  8036.    ReDim array(ItemMean) As Integer
  8037.    Randomize Timer
  8038.  
  8039.    For i = LBound(array) To UBound(array)
  8040.       array(i) = 0
  8041.       List1.AddItem "" & array(i)
  8042.    Next i
  8043.    
  8044.    j = cSetI(array(), 1024)
  8045.  
  8046.    For i = LBound(array) To UBound(array)
  8047.       List2.AddItem "" & array(i)
  8048.    Next i
  8049.  
  8050.    Tmp1 = Tmp1 & "Set 1024 to element 1 of an integer array is : " & array(1) & Chr$(13) & Chr$(13)
  8051.    Tmp1 = Tmp1 & "Set 1024 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & Chr$(13) & Chr$(13)
  8052.  
  8053.    cStartBasisTimer
  8054.    For i = 1 To ItemFile
  8055.       j = cSetI(array(), 1.11)
  8056.    Next i
  8057.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  8058.  
  8059.    Label3.Caption = Tmp1
  8060.  
  8061. End Sub
  8062.  
  8063. Private Sub TestSortI()
  8064.  
  8065.    Dim Title      As String
  8066.    Dim Tmp        As String
  8067.    Dim Tmp1       As String
  8068.    Dim Tmp2       As String
  8069.    Dim i          As Integer
  8070.    Dim j          As Integer
  8071.    Dim m          As Integer
  8072.    
  8073.    ReDim array(ItemMean) As Integer
  8074.    Randomize Timer
  8075.  
  8076.    For i = LBound(array) To UBound(array)
  8077.       array(i) = RandI * Rnd(1)
  8078.       List1.AddItem "" & array(i)
  8079.    Next i
  8080.    
  8081.    j = cSortI(array())
  8082.  
  8083.    For i = LBound(array) To UBound(array)
  8084.       List2.AddItem "" & array(i)
  8085.    Next i
  8086.  
  8087.    cStartBasisTimer
  8088.    For i = 1 To ItemFile
  8089.       j = cSortI(array())
  8090.    Next i
  8091.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  8092.  
  8093.    Label3.Caption = Tmp1
  8094.  
  8095. End Sub
  8096.  
  8097. Private Sub TestSpellMoney()
  8098.  
  8099.    Dim Title      As String
  8100.    Dim Tmp        As String
  8101.    Dim Tmp1       As String
  8102.    Dim Tmp2       As String
  8103.    Dim i          As Integer
  8104.    Dim j          As Integer
  8105.  
  8106.    Dim Units      As String
  8107.    Dim Cents      As String
  8108.  
  8109.    Units = "dollars"
  8110.    Cents = "cents"
  8111.  
  8112.    Tmp1 = "Spelling the following money value " & Chr$(13) & Chr$(13)
  8113.  
  8114.    Tmp1 = Tmp1 & "4.12 is '" & cSpellMoney(4.12, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  8115.    Tmp1 = Tmp1 & "16 is '" & cSpellMoney(16, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  8116.    Tmp1 = Tmp1 & "25 is '" & cSpellMoney(25, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  8117.    Tmp1 = Tmp1 & "34 is '" & cSpellMoney(34, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  8118.    Tmp1 = Tmp1 & "43 is '" & cSpellMoney(43, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  8119.    Tmp1 = Tmp1 & "61 is '" & cSpellMoney(61, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  8120.    Tmp1 = Tmp1 & "98765.43 is '" & cSpellMoney(98765.43, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  8121.    Tmp1 = Tmp1 & "123456789.75 is '" & cSpellMoney(123456789.75, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  8122.  
  8123.    cStartBasisTimer
  8124.    For i = 1 To Item
  8125.       Tmp2 = cSpellMoney(12.34, Units, Cents)
  8126.    Next i
  8127.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8128.  
  8129.    Label3.Caption = Tmp1
  8130.  
  8131. End Sub
  8132.  
  8133. Private Sub TestSplitPath()
  8134.  
  8135.    Dim Title      As String
  8136.    Dim Tmp        As String
  8137.    Dim Tmp1       As String
  8138.    Dim Tmp2       As String
  8139.    Dim Tmp3       As String
  8140.    Dim i          As Integer
  8141.    Dim N          As Integer
  8142.    Dim j          As Long
  8143.    Dim SPLITPATH  As tagSPLITPATH
  8144.    
  8145.    Tmp1 = ""
  8146.    Tmp = "C:\AUTOEXEC.BAT"
  8147.  
  8148.    Tmp1 = Tmp1 & "Split Path " & Tmp & " into four components is :" & Chr$(13) & Chr$(13)
  8149.    N = cSplitPath(Tmp, SPLITPATH)
  8150.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDrive & Chr$(13)
  8151.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDir & Chr$(13)
  8152.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nName & Chr$(13)
  8153.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nExt & Chr$(13) & Chr$(13)
  8154.  
  8155.    Tmp = cGetSystemDirectory() & "\t2win-16.dll"
  8156.  
  8157.    Tmp1 = Tmp1 & "Split Path " & Tmp & " into four components is :" & Chr$(13) & Chr$(13)
  8158.    N = cSplitPath(Tmp, SPLITPATH)
  8159.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDrive & Chr$(13)
  8160.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDir & Chr$(13)
  8161.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nName & Chr$(13)
  8162.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nExt & Chr$(13) & Chr$(13)
  8163.  
  8164.    cStartBasisTimer
  8165.    For i = 1 To Item
  8166.       N = cSplitPath(Tmp, SPLITPATH)
  8167.    Next i
  8168.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  8169.  
  8170.    Label3.Caption = Tmp1
  8171.  
  8172. End Sub
  8173.  
  8174. Private Sub TestStringCompress()
  8175.  
  8176.    Dim Title      As String
  8177.    Dim Tmp        As String
  8178.    Dim Tmp1       As String
  8179.    Dim Tmp2       As String
  8180.    Dim Tmp3       As String
  8181.    Dim i          As Integer
  8182.    Dim j          As Long
  8183.  
  8184.    Tmp1 = ""
  8185.    Tmp = "T2WIN-16, T2WIN-16, T2WIN-16, T2WIN-16"
  8186.    Tmp2 = cStringCompress(Tmp)
  8187.    Tmp3 = cStringExpand(Tmp2)
  8188.    
  8189.    Tmp1 = Tmp1 & "String Compress '" & Tmp & "' is " & Format$(Len(Tmp)) & " to " & Format$(Len(Tmp2)) & " bytes." & Chr$(13)
  8190.    Tmp1 = Tmp1 & "String Expand is '" & Tmp3 & "'" & Chr$(13)
  8191.    Tmp1 = Tmp1 & "Compare string contents (not sensitive) is " & IIf(LCase$(Tmp) = LCase$(Tmp3), "same", "not same") & Chr$(13) & Chr$(13)
  8192.  
  8193.    cStartBasisTimer
  8194.    For i = 1 To Item
  8195.       Tmp2 = cStringCompress(Tmp)
  8196.    Next i
  8197.    Tmp3 = cStringExpand(Tmp2)
  8198.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  8199.  
  8200.    Label3.Caption = Tmp1
  8201.  
  8202. End Sub
  8203.  
  8204. Private Sub TestStringCRC32()
  8205.  
  8206.    Dim Title      As String
  8207.    Dim Tmp        As String
  8208.    Dim Tmp1       As String
  8209.    Dim Tmp2       As String
  8210.    Dim i          As Integer
  8211.    Dim j          As Integer
  8212.    Dim k          As Long
  8213.    
  8214.  
  8215.    Tmp = Text1.Text
  8216.    Title = "CRC32 for string [" & Tmp & "] is "
  8217.    Tmp1 = Title & Hex$(cStringCRC32(Tmp)) & Chr$(13) & Chr$(13)
  8218.  
  8219.    Title = "CRC32 for string [" & cReverse(Tmp) & "] is "
  8220.    Tmp1 = Tmp1 & Title & Hex$(cStringCRC32(cReverse(Tmp))) & Chr$(13) & Chr$(13)
  8221.  
  8222.    Title = "CRC32 for string [" & LCase$(Tmp) & "] is "
  8223.    Tmp1 = Tmp1 & Title & Hex$(cStringCRC32(LCase$(Tmp))) & Chr$(13) & Chr$(13)
  8224.  
  8225.    Title = "CRC32 for string [" & LCase$(cReverse(Tmp)) & "] is "
  8226.    Tmp1 = Tmp1 & Title & Hex$(cStringCRC32(LCase$(cReverse(Tmp)))) & Chr$(13) & Chr$(13)
  8227.  
  8228.    cStartBasisTimer
  8229.    For i = 1 To Item
  8230.       k = cStringCRC32(Tmp)
  8231.    Next i
  8232.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8233.  
  8234.    Label3.Caption = Tmp1
  8235.  
  8236. End Sub
  8237.  
  8238. Private Sub TestStringSAR()
  8239.  
  8240.    Dim Title      As String
  8241.    Dim Tmp        As String
  8242.    Dim Tmp1       As String
  8243.    Dim Tmp2       As String
  8244.    Dim Tmp3       As String
  8245.    Dim i          As Integer
  8246.    Dim j          As Long
  8247.  
  8248.    Tmp1 = ""
  8249.    Tmp = "T2WIN-16, T2WIN-16, T2WIN-16, T2WIN-16 IS A DLL"
  8250.    Tmp2 = cStringSAR(Tmp, "T2WIN-16", "t2win-16", False)
  8251.    
  8252.    Tmp1 = Tmp1 & "Replace 'T2WIN-16' by 't2win-16'" & Chr$(13)
  8253.    Tmp1 = Tmp1 & "     in" & Chr$(13)
  8254.    Tmp1 = Tmp1 & Tmp & Chr$(13)
  8255.    Tmp1 = Tmp1 & "     is" & Chr$(13)
  8256.    Tmp1 = Tmp1 & Tmp2 & Chr$(13) & Chr$(13)
  8257.  
  8258.    Tmp2 = cStringSAR(Tmp, " TO ", "2", True)
  8259.  
  8260.    Tmp1 = Tmp1 & "Replace ' TO ' by '2'" & Chr$(13)
  8261.    Tmp1 = Tmp1 & "     in" & Chr$(13)
  8262.    Tmp1 = Tmp1 & Tmp & Chr$(13)
  8263.    Tmp1 = Tmp1 & "     is" & Chr$(13)
  8264.    Tmp1 = Tmp1 & Tmp2 & Chr$(13) & Chr$(13)
  8265.  
  8266.    Tmp2 = cStringSAR(Tmp, "T2WIN-16, ", "", True)
  8267.  
  8268.    Tmp1 = Tmp1 & "Replace 'T2WIN-16, ' by ''" & Chr$(13)
  8269.    Tmp1 = Tmp1 & "     in" & Chr$(13)
  8270.    Tmp1 = Tmp1 & Tmp & Chr$(13)
  8271.    Tmp1 = Tmp1 & "     is" & Chr$(13)
  8272.    Tmp1 = Tmp1 & Tmp2 & Chr$(13) & Chr$(13)
  8273.  
  8274.    Tmp2 = cStringSAR(Tmp, "I", "i", False)
  8275.  
  8276.    Tmp1 = Tmp1 & "Replace 'I' by 'i'" & Chr$(13)
  8277.    Tmp1 = Tmp1 & "     in" & Chr$(13)
  8278.    Tmp1 = Tmp1 & Tmp & Chr$(13)
  8279.    Tmp1 = Tmp1 & "     is" & Chr$(13)
  8280.    Tmp1 = Tmp1 & Tmp2 & Chr$(13) & Chr$(13)
  8281.  
  8282.    cStartBasisTimer
  8283.    For i = 1 To Item
  8284.       Tmp2 = cStringSAR(Tmp, "T2WIN-16", "t2win-16", False)
  8285.    Next i
  8286.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  8287.  
  8288.    Label3.Caption = Tmp1
  8289.  
  8290. End Sub
  8291.  
  8292. Private Sub TestSubDirectory()
  8293.  
  8294.    Dim Title      As String
  8295.    Dim Tmp        As String
  8296.    Dim Tmp1       As String
  8297.    Dim Tmp2       As String
  8298.    Dim i          As Integer
  8299.    Dim j          As Integer
  8300.    Dim k          As Long
  8301.  
  8302.    Title = "The 7 first directories in this directory are" & Chr$(13) & Chr$(13)
  8303.  
  8304.    Tmp1 = Title
  8305.    Tmp2 = cSubDirectory("*.*", True)
  8306.    For i = 1 To 7
  8307.       Tmp1 = Tmp1 & Tmp2 & Chr$(13)
  8308.       Tmp2 = cSubDirectory("*.*", False)
  8309.    Next i
  8310.  
  8311.    Tmp1 = Tmp1 & Chr$(13)
  8312.  
  8313.    cStartBasisTimer
  8314.    For i = 1 To Item
  8315.       Tmp = cSubDirectory("*.*", True)
  8316.    Next i
  8317.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8318.  
  8319.    Label3.Caption = Tmp1
  8320.  
  8321. End Sub
  8322.  
  8323. Private Sub TestSumI()
  8324.  
  8325.    Dim Title      As String
  8326.    Dim Tmp        As String
  8327.    Dim Tmp1       As String
  8328.    Dim Tmp2       As String
  8329.    Dim i          As Integer
  8330.    Dim j          As Integer
  8331.    Dim m          As Double
  8332.    
  8333.    ReDim array(ItemMean) As Integer
  8334.    Randomize Timer
  8335.  
  8336.    m = 0
  8337.    For i = LBound(array) To UBound(array)
  8338.       array(i) = Int(RandI * Rnd(1))
  8339.       m = m + array(i)
  8340.       List1.AddItem "" & array(i)
  8341.    Next i
  8342.    
  8343.    Tmp1 = "The Sum of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cSumI(array()) & " (" & m & ")" & Chr$(13) & Chr$(13)
  8344.  
  8345.    cStartBasisTimer
  8346.    For i = 1 To ItemFile
  8347.       m = cSumI(array())
  8348.    Next i
  8349.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  8350.  
  8351.    Label3.Caption = Tmp1
  8352.  
  8353. End Sub
  8354.  
  8355. Private Sub TestSwap()
  8356.  
  8357.    Dim Title      As String
  8358.    Dim Tmp        As String
  8359.    Dim Tmp1       As String
  8360.    Dim Tmp2       As String
  8361.    Dim i          As Integer
  8362.    Dim j          As Long
  8363.  
  8364.    Dim i1         As Integer
  8365.    Dim i2         As Integer
  8366.  
  8367.    Dim s1         As String
  8368.    Dim s2         As String
  8369.  
  8370.    i1 = 3276
  8371.    i2 = 12345
  8372.  
  8373.    s1 = "Hello"
  8374.    s2 = "World"
  8375.  
  8376.    Tmp1 = "SwapI of [" & i1 & "," & i2 & "] is "
  8377.    Call cSwapI(i1, i2)
  8378.    Tmp1 = Tmp1 + "[" & i1 & "," & i2 & "]" & Chr$(13)
  8379.  
  8380.    Tmp1 = Tmp1 + "SwapI of [" & i1 & "," & i2 & "] is "
  8381.    Call cSwapI(i1, i2)
  8382.    Tmp1 = Tmp1 + "[" & i1 & "," & i2 & "]" & Chr$(13)
  8383.  
  8384.    Tmp1 = Tmp1 + "SwapStr of [" & s1 & "," & s2 & "] is "
  8385.    Call cSwapStr(s1, s2)
  8386.    Tmp1 = Tmp1 + "[" & s1 & "," & s2 & "]" & Chr$(13)
  8387.  
  8388.    Tmp1 = Tmp1 + "SwapStr of [" & s1 & "," & s2 & "] is "
  8389.    Call cSwapStr(s1, s2)
  8390.    Tmp1 = Tmp1 + "[" & s1 & "," & s2 & "]" & Chr$(13)
  8391.  
  8392.    cStartBasisTimer
  8393.    For i = 1 To Item
  8394.       Call cSwapI(i1, i2)
  8395.    Next i
  8396.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8397.  
  8398.    Label3.Caption = Tmp1
  8399.  
  8400. End Sub
  8401.  
  8402. Private Sub TestSysMenuChange(Language As Integer)
  8403.    Call cLngSysMenu(Language, Me.hWnd)
  8404. End Sub
  8405.  
  8406. Private Sub TestTime()
  8407.  
  8408.    Dim Tmp1       As String
  8409.    
  8410.    Dim i          As Integer
  8411.    Dim nNow       As Long
  8412.    Dim nHour      As Integer
  8413.    Dim nMinute    As Integer
  8414.    Dim nSecond    As Integer
  8415.  
  8416.    nHour = Hour(Now)
  8417.    nMinute = Minute(Now)
  8418.    nSecond = Second(Now)
  8419.  
  8420.    nNow = cTimeToScalar(nHour, nMinute, nSecond)
  8421.    Tmp1 = Tmp1 & "Now scalar time is '" & nNow & "'" & Chr$(13)
  8422.    nHour = 0
  8423.    nMinute = 0
  8424.    nSecond = 0
  8425.    Call cScalarToTime(nNow, nHour, nMinute, nSecond)
  8426.    Tmp1 = Tmp1 & "Hour : " & nHour & ", Minute : " & nMinute & ", Second : " & nSecond & Chr$(13) & Chr$(13)
  8427.  
  8428.    nNow = cTimeToScalar(32767, 59, 59)
  8429.    Tmp1 = Tmp1 & "Maximum scalar time is '" & nNow & "'" & Chr$(13)
  8430.    nHour = 0
  8431.    nMinute = 0
  8432.    nSecond = 0
  8433.    Call cScalarToTime(nNow, nHour, nMinute, nSecond)
  8434.    Tmp1 = Tmp1 & "Hour : " & nHour & ", Minute : " & nMinute & ", Second : " & nSecond & Chr$(13) & Chr$(13)
  8435.  
  8436.    cStartBasisTimer
  8437.    For i = 1 To Item
  8438.       nNow = cTimeToScalar(nHour, nMinute, nSecond)
  8439.    Next i
  8440.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8441.  
  8442.    Label3.Caption = Tmp1
  8443.  
  8444. End Sub
  8445.  
  8446. Private Sub TestTimeBetween()
  8447.  
  8448.    Dim Title      As String
  8449.    Dim Tmp        As String
  8450.    Dim Tmp1       As String
  8451.    Dim Tmp2       As String
  8452.    Dim i          As Integer
  8453.    Dim j          As Integer
  8454.  
  8455.    Tmp1 = "The time between 10:00 and 12:01 is " & cTimeBetween(600, 721) & " minutes" & Chr$(13) & Chr$(13)
  8456.  
  8457.    Tmp1 = Tmp1 & "The time between 23:58 and 01:02 is " & cTimeBetween(1438, 62) & " minutes" & Chr$(13) & Chr$(13)
  8458.  
  8459.    cStartBasisTimer
  8460.    For i = 1 To Item
  8461.       j = cTimeBetween(0, 1439)
  8462.    Next i
  8463.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8464.  
  8465.    Label3.Caption = Tmp1
  8466.    
  8467. End Sub
  8468.  
  8469. Private Sub TestTimer()
  8470.  
  8471.    Dim Tmp1          As String
  8472.    Dim Tmp           As String
  8473.    Dim Tmp2          As String
  8474.    Dim i             As Integer
  8475.    Dim j             As Integer
  8476.    Dim k             As Long
  8477.    Dim TimerHandle   As Integer
  8478.    Dim StartOk       As Integer
  8479.    Dim CloseOk       As Integer
  8480.  
  8481.    Tmp1 = "BASIS TIMER" & Chr$(13) & Chr$(13)
  8482.  
  8483.    Tmp1 = Tmp1 & "The elapsed time for a empty loop of 32766 iterations is "
  8484.  
  8485.    cStartBasisTimer
  8486.    For i = 1 To 32766
  8487.    Next i
  8488.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  8489.  
  8490.    Tmp1 = Tmp1 & "The elapsed time for a integer loop of 32766 iterations is "
  8491.  
  8492.    j = 0
  8493.    cStartBasisTimer
  8494.    For i = 1 To 32766
  8495.       j = j + 1
  8496.    Next i
  8497.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  8498.  
  8499.    Tmp1 = Tmp1 & "The elapsed time for a long loop of 32766 iterations is "
  8500.  
  8501.    k = 0
  8502.    cStartBasisTimer
  8503.    For i = 1 To 32766
  8504.       k = i * 2&
  8505.    Next i
  8506.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  8507.  
  8508.    Tmp1 = Tmp1 & "The elapsed time for a string loop of 1000 iterations is "
  8509.  
  8510.    cStartBasisTimer
  8511.    For i = 1 To 1000
  8512.       Tmp2 = Tmp2 + "a"
  8513.    Next i
  8514.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  8515.  
  8516.    Call cStartBasisTimer
  8517.    StartOk = cSleep(1000)
  8518.    Tmp1 = Tmp1 & "True time for 1 wait second is " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  8519.  
  8520.    TimerHandle = cTimerOpen()
  8521.  
  8522.    Tmp1 = Tmp1 & "EXTENDED TIMER (handle is '" & TimerHandle & "')" & Chr$(13) & Chr$(13)
  8523.  
  8524.    Tmp1 = Tmp1 & "The elapsed time for a empty loop of 32766 iterations is "
  8525.  
  8526.    StartOk = cTimerStart(TimerHandle)
  8527.    For i = 1 To 32766
  8528.    Next i
  8529.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  8530.  
  8531.    Tmp1 = Tmp1 & "The elapsed time for a integer loop of 32766 iterations is "
  8532.  
  8533.    j = 0
  8534.    StartOk = cTimerStart(TimerHandle)
  8535.    For i = 1 To 32766
  8536.       j = j + 1
  8537.    Next i
  8538.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  8539.  
  8540.    Tmp1 = Tmp1 & "The elapsed time for a long loop of 32766 iterations is "
  8541.  
  8542.    k = 0
  8543.    StartOk = cTimerStart(TimerHandle)
  8544.    For i = 1 To 32766
  8545.       k = i * 2&
  8546.    Next i
  8547.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  8548.  
  8549.    Tmp1 = Tmp1 & "The elapsed time for a string loop of 1000 iterations is "
  8550.  
  8551.    StartOk = cTimerStart(TimerHandle)
  8552.    For i = 1 To 1000
  8553.       Tmp2 = Tmp2 + "a"
  8554.    Next i
  8555.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  8556.  
  8557.    StartOk = cTimerStart(TimerHandle)
  8558.    StartOk = cSleep(1000)
  8559.    Tmp1 = Tmp1 & "True time for 1 wait second is " & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  8560.  
  8561.    Label3.Caption = Tmp1
  8562.  
  8563.    CloseOk = cTimerClose(TimerHandle)
  8564.  
  8565. End Sub
  8566.  
  8567. Private Sub TestToggleAllBits()
  8568.  
  8569.    Dim Title      As String
  8570.    Dim Tmp        As String
  8571.    Dim Tmp1       As String
  8572.    Dim Tmp2       As String
  8573.    Dim i          As Integer
  8574.    Dim j          As Integer
  8575.    
  8576.  
  8577.    Tmp = Text1.Text
  8578.    Title = "Toggle all bits of [" & Tmp & "] is "
  8579.    Call cToggleAllBits(Tmp)
  8580.  
  8581.    Tmp1 = Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  8582.  
  8583.    Title = "Toggle all bits of [" & Tmp & "] is "
  8584.    Call cToggleAllBits(Tmp)
  8585.  
  8586.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  8587.  
  8588.    cStartBasisTimer
  8589.    For i = 1 To Item
  8590.       Call cToggleAllBits(Tmp)
  8591.    Next i
  8592.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8593.  
  8594.    Label3.Caption = Tmp1
  8595.  
  8596. End Sub
  8597.  
  8598. Private Sub TestToggleBit()
  8599.  
  8600.    Dim Title      As String
  8601.    Dim Tmp        As String
  8602.    Dim Tmp1       As String
  8603.    Dim Tmp2       As String
  8604.    Dim i          As Integer
  8605.    Dim j          As Integer
  8606.    
  8607.  
  8608.    Tmp = Text1.Text
  8609.    Title = "Toggle bit 7,22,15 of [" & Tmp & "] is "
  8610.    Call cToggleBit(Tmp, 7)
  8611.    Call cToggleBit(Tmp, 22)
  8612.    Call cToggleBit(Tmp, 15)
  8613.  
  8614.    Tmp1 = Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  8615.  
  8616.    Title = "Toggle bit 7,22,15 of [" & Tmp & "] is "
  8617.    Call cToggleBit(Tmp, 7)
  8618.    Call cToggleBit(Tmp, 22)
  8619.    Call cToggleBit(Tmp, 15)
  8620.  
  8621.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  8622.  
  8623.    cStartBasisTimer
  8624.    For i = 1 To Item
  8625.       Call cToggleBit(Tmp, i)
  8626.    Next i
  8627.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8628.  
  8629.    Label3.Caption = Tmp1
  8630.  
  8631. End Sub
  8632.  
  8633. Private Sub TestToken()
  8634.  
  8635.    Dim Title      As String
  8636.    Dim Tmp        As String
  8637.    Dim Tmp1       As String
  8638.    Dim Tmp2       As String
  8639.    Dim i          As Integer
  8640.    Dim j          As Integer
  8641.  
  8642.    Tmp = "A/BC\DEF=GHIJ?KLMNO:PQRSTUV"
  8643.    Title = "The 2,4,1,5 blocks of [" & Tmp & "] separated by any one of '/\=?' are " & Chr$(13)
  8644.  
  8645.    Tmp1 = Title & "  2:" & cTokenIn(Tmp, "/\=?", 2) & Chr$(13) & "  4:" & cTokenIn(Tmp, "/\=?", 4) & Chr$(13) & "  1:" & cTokenIn(Tmp, "/\=?", 1) & Chr$(13) & "  5:" & cTokenIn(Tmp, "/\=?", 5) & Chr$(13) & Chr$(13)
  8646.  
  8647.    cStartBasisTimer
  8648.    For i = 1 To Item
  8649.       Tmp2 = cTokenIn(Tmp, "/\=?", 2)
  8650.    Next i
  8651.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8652.  
  8653.    Label3.Caption = Tmp1
  8654.    
  8655. End Sub
  8656.  
  8657. Private Sub TestTrueBetween()
  8658.  
  8659.    Dim Title      As String
  8660.    Dim Tmp        As String
  8661.    Dim Tmp1       As String
  8662.    Dim Tmp2       As String
  8663.    Dim i          As Integer
  8664.    Dim j          As Integer
  8665.    
  8666.  
  8667.    Tmp1 = "601 is not true between 720 and 840 => " & cTrueBetween(601, 720, 840) & Chr$(13) & Chr$(13)
  8668.  
  8669.    Tmp1 = Tmp1 & "601 is true between 540 and 602 => " & cTrueBetween(601, 540, 602) & Chr$(13) & Chr$(13)
  8670.  
  8671.    Tmp1 = Tmp1 & "61 is not true between 61 and 62 => " & cTrueBetween(61, 61, 62) & Chr$(13) & Chr$(13)
  8672.  
  8673.    cStartBasisTimer
  8674.    For i = 1 To Item
  8675.       j = cTrueBetween(720, 0, 1439)
  8676.    Next i
  8677.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8678.  
  8679.    Label3.Caption = Tmp1
  8680.  
  8681. End Sub
  8682.  
  8683. Private Sub TestTruncatePath()
  8684.  
  8685.    Dim Title      As String
  8686.    Dim Tmp        As String
  8687.    Dim Tmp1       As String
  8688.    Dim Tmp2       As String
  8689.    Dim Tmp3       As String
  8690.    Dim i          As Integer
  8691.    Dim j          As Long
  8692.    
  8693.    Tmp1 = ""
  8694.    
  8695.    Tmp1 = Tmp1 & "Truncate the following path with a length of 25" & Chr$(13) & Chr$(13)
  8696.  
  8697.    Tmp = "t2win-16.bas"
  8698.    Tmp2 = cTruncatePath(Tmp, 25)
  8699.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  8700.  
  8701.    Tmp = "windows\system\t2win-16.bas"
  8702.    Tmp2 = cTruncatePath(Tmp, 25)
  8703.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  8704.  
  8705.    Tmp = "c:\windows\system\t2win-16.bas"
  8706.    Tmp2 = cTruncatePath(Tmp, 25)
  8707.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  8708.  
  8709.    Tmp = "c:\windows\system\visual\t2win-16\t2win-16.bas"
  8710.    Tmp2 = cTruncatePath(Tmp, 25)
  8711.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  8712.  
  8713.    Tmp = "c:\windows\system\visual\source\t2win-16\t2win-16.bas"
  8714.    Tmp2 = cTruncatePath(Tmp, 25)
  8715.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13) & Chr$(13)
  8716.  
  8717.    Tmp1 = Tmp1 & "Truncate the following path with a length of 35" & Chr$(13) & Chr$(13)
  8718.  
  8719.    Tmp = "t2win-16.bas"
  8720.    Tmp2 = cTruncatePath(Tmp, 35)
  8721.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  8722.  
  8723.    Tmp = "windows\system\t2win-16.bas"
  8724.    Tmp2 = cTruncatePath(Tmp, 35)
  8725.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  8726.  
  8727.    Tmp = "c:\windows\system\t2win-16.bas"
  8728.    Tmp2 = cTruncatePath(Tmp, 35)
  8729.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  8730.  
  8731.    Tmp = "c:\windows\system\visual\t2win-16\t2win-16.bas"
  8732.    Tmp2 = cTruncatePath(Tmp, 35)
  8733.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  8734.  
  8735.    Tmp = "c:\windows\system\visual\source\t2win-16\t2win-16.bas"
  8736.    Tmp2 = cTruncatePath(Tmp, 35)
  8737.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13) & Chr$(13)
  8738.  
  8739.    cStartBasisTimer
  8740.    For i = 1 To Item
  8741.       Tmp2 = cTruncatePath(Tmp, 25)
  8742.    Next i
  8743.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  8744.  
  8745.    Label3.Caption = Tmp1
  8746.  
  8747. End Sub
  8748.  
  8749. Private Sub TestUncompact()
  8750.  
  8751.    Dim Title      As String
  8752.    Dim Tmp        As String
  8753.    Dim Tmp1       As String
  8754.    Dim Tmp2       As String
  8755.    Dim i          As Integer
  8756.    Dim j          As Integer
  8757.  
  8758.    Tmp = "987654321"
  8759.  
  8760.    Title = "Uncompact '" & Tmp & "' is "
  8761.    Tmp1 = Title & cUncompact(Tmp) & Chr$(13) & Chr$(13)
  8762.  
  8763.    cStartBasisTimer
  8764.    For i = 1 To Item
  8765.       Tmp2 = cUncompact(Tmp)
  8766.    Next i
  8767.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8768.  
  8769.    Label3.Caption = Tmp1
  8770.  
  8771. End Sub
  8772.  
  8773. Private Sub TestUniqueFileName()
  8774.  
  8775.    Dim Title      As String
  8776.    Dim Tmp        As String
  8777.    Dim Tmp1       As String
  8778.    Dim Tmp2       As String
  8779.    Dim i          As Integer
  8780.    Dim j          As Integer
  8781.    
  8782.  
  8783.    Tmp1 = "Generate unique filename with template WN is " & cUniqueFileName("WN") & Chr$(13) & Chr$(13)
  8784.  
  8785.    cStartBasisTimer
  8786.    For i = 1 To Item
  8787.       Tmp2 = cUniqueFileName("WN")
  8788.    Next i
  8789.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8790.  
  8791.    Label3.Caption = Tmp1
  8792.  
  8793. End Sub
  8794.  
  8795. Private Sub TestVersion()
  8796.  
  8797.    Dim Tmp        As String
  8798.  
  8799.    Dim Version    As Single
  8800.  
  8801.    Version = cGetVersion()
  8802.  
  8803.    Tmp = Tmp + "Version is " & Version
  8804.  
  8805.    Label3.Caption = Tmp
  8806.  
  8807. End Sub
  8808.  
  8809. Private Sub TestWalkThruWindow()
  8810.  
  8811.    Dim nClass        As String
  8812.    Dim nCaption      As String
  8813.    Dim nOwnerClass   As String
  8814.    Dim nOwnerCaption As String
  8815.    Dim nOwnerHwnd    As Integer
  8816.    
  8817.    Dim nhWnd         As Integer
  8818.    Dim i             As Integer
  8819.  
  8820.    Frame1.Visible = True
  8821.    List1.Clear
  8822.    List2.Clear
  8823.    List1.FontBold = False
  8824.    List2.FontBold = False
  8825.    
  8826.    nhWnd = cWalkThruWindow(nClass, nCaption, nOwnerHwnd, nOwnerClass, nOwnerCaption, True)
  8827.  
  8828.    Do While (nhWnd <> 0)
  8829.       i = i + 1
  8830.       List1.AddItem "[" & Format$(i, "00") & "] " & Right$("0000" + Hex$(nhWnd), 4) & " " & nCaption & " (" & nClass & ")"
  8831.       List2.AddItem "[" & Format$(i, "00") & "] " & Right$("0000" + Hex$(nOwnerHwnd), 4) & " " & nOwnerCaption & " (" & nOwnerClass & ")"
  8832.       nhWnd = cWalkThruWindow(nClass, nCaption, nOwnerHwnd, nOwnerClass, nOwnerCaption, False)
  8833.    Loop
  8834.  
  8835. End Sub
  8836.  
  8837. Private Sub TestWindowsIni()
  8838.  
  8839.    Dim Tmp        As String
  8840.  
  8841.    Tmp = Tmp + "DateSeparator is " + cGetDateSeparator() + Chr$(13)
  8842.    Tmp = Tmp + "TimeSeparator is " + cGetTimeSeparator() + Chr$(13)
  8843.    Tmp = Tmp + "ListSeparator is " + cGetListSeparator() + Chr$(13)
  8844.    Tmp = Tmp + "DateFormat    is " + cGetDateFormat() + Chr$(13)
  8845.    Tmp = Tmp + "HourFormat    is " + cGetHourFormat() + Chr$(13)
  8846.    Tmp = Tmp + "Currency      is " + cGetCurrency() + Chr$(13)
  8847.    Tmp = Tmp + "Language      is " + cGetLanguage() + Chr$(13)
  8848.    Tmp = Tmp + "Country       is " + cGetCountry() + Chr$(13)
  8849.    Tmp = Tmp + "CountryCode   is " + cGetCountryCode() + Chr$(13)
  8850.  
  8851.    Label3.Caption = Tmp
  8852.  
  8853. End Sub
  8854.  
  8855. Private Sub TestWinINI1()
  8856.    Label3.Caption = cGetDevices() & Chr$(13) & Chr$(13) & "Length = " & Len(cGetDevices())
  8857. End Sub
  8858.  
  8859. Private Sub TestWinINI2()
  8860.    Label3.Caption = cGetPrinterPorts() & Chr$(13) & Chr$(13) & "Length = " & Len(cGetPrinterPorts())
  8861. End Sub
  8862.  
  8863. Private Sub TestWinINI3()
  8864.    Label3.Caption = cGetWinSection("windows") & Chr$(13) & Chr$(13) & "Length = " & Len(cGetWinSection("windows"))
  8865. End Sub
  8866.  
  8867.  
  8868. Private Sub TestHexaToX()
  8869.  
  8870.    Dim Title      As String
  8871.    Dim Tmp        As String
  8872.    Dim Tmp1       As String
  8873.    Dim Tmp2       As String
  8874.    Dim i          As Integer
  8875.    Dim j          As Integer
  8876.  
  8877.    Tmp1 = "Hexa to Integer" & Chr$(13) & Chr$(13)
  8878.  
  8879.    Tmp2 = "0"
  8880.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & Chr$(13)
  8881.    Tmp2 = "1"
  8882.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & Chr$(13)
  8883.    Tmp2 = "A"
  8884.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & Chr$(13)
  8885.    Tmp2 = "A1"
  8886.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & Chr$(13)
  8887.    Tmp2 = "A1B"
  8888.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & Chr$(13)
  8889.    Tmp2 = "7FFF"
  8890.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & Chr$(13)
  8891.    Tmp2 = "A1B2"
  8892.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & Chr$(13)
  8893.    Tmp2 = "FFFF"
  8894.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & Chr$(13) & Chr$(13)
  8895.  
  8896.    Tmp1 = Tmp1 & "Hexa to Long" & Chr$(13) & Chr$(13)
  8897.  
  8898.    Tmp2 = "0"
  8899.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & Chr$(13)
  8900.    Tmp2 = "1"
  8901.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & Chr$(13)
  8902.    Tmp2 = "A"
  8903.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & Chr$(13)
  8904.    Tmp2 = "A1"
  8905.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & Chr$(13)
  8906.    Tmp2 = "A1B"
  8907.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & Chr$(13)
  8908.    Tmp2 = "A1B2"
  8909.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & Chr$(13)
  8910.    Tmp2 = "7FFFFFFF"
  8911.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & Chr$(13)
  8912.    Tmp2 = "B2A1A1B2"
  8913.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & Chr$(13)
  8914.    Tmp2 = "FFFFFFFF"
  8915.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & Chr$(13) & Chr$(13)
  8916.    
  8917.    cStartBasisTimer
  8918.    For i = 1 To Item
  8919.       j = cH2I(Tmp2)
  8920.    Next i
  8921.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8922.  
  8923.    Label3.Caption = Tmp1
  8924.    
  8925. End Sub
  8926.  
  8927.  
  8928. Private Sub TestBinaryToX()
  8929.  
  8930.    Dim Title      As String
  8931.    Dim Tmp        As String
  8932.    Dim Tmp1       As String
  8933.    Dim Tmp2       As String
  8934.    Dim i          As Integer
  8935.    Dim j          As Integer
  8936.  
  8937.    Tmp1 = "Binary to Integer" & Chr$(13) & Chr$(13)
  8938.  
  8939.    Tmp2 = String(1, "1")
  8940.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & Chr$(13)
  8941.    Tmp2 = String(2, "1")
  8942.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & Chr$(13)
  8943.    Tmp2 = String(4, "1")
  8944.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & Chr$(13)
  8945.    Tmp2 = String(8, "1")
  8946.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & Chr$(13)
  8947.    Tmp2 = String(16, "1")
  8948.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & Chr$(13)
  8949.    Tmp2 = "0111111111111111"
  8950.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & Chr$(13)
  8951.    Tmp2 = "0101010101010101"
  8952.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & Chr$(13)
  8953.    Tmp2 = "1010101010101010"
  8954.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & Chr$(13) & Chr$(13)
  8955.  
  8956.    Tmp1 = Tmp1 & "Binary to Long" & Chr$(13) & Chr$(13)
  8957.  
  8958.    Tmp2 = String(1, "1")
  8959.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & Chr$(13)
  8960.    Tmp2 = String(4, "1")
  8961.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & Chr$(13)
  8962.    Tmp2 = String(8, "1")
  8963.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & Chr$(13)
  8964.    Tmp2 = String(16, "1")
  8965.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & Chr$(13)
  8966.    Tmp2 = String(32, "1")
  8967.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & Chr$(13)
  8968.    Tmp2 = "0101010101010101"
  8969.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & Chr$(13)
  8970.    Tmp2 = "1010101010101010"
  8971.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & Chr$(13)
  8972.    Tmp2 = "01010101010101010101010101010101"
  8973.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & Chr$(13)
  8974.    Tmp2 = "10101010101010101010101010101010"
  8975.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & Chr$(13) & Chr$(13)
  8976.    
  8977.    cStartBasisTimer
  8978.    For i = 1 To Item
  8979.       j = cB2I(Tmp2)
  8980.    Next i
  8981.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8982.  
  8983.    Label3.Caption = Tmp1
  8984.    
  8985. End Sub
  8986.